我有 2 個名為area_managers和 的表shopkeepers。我想validate email從area_managers而在方式更新,使得它不與電子郵件相匹配shopkeepers和area_managers表。我嘗試了以下方式,但它甚至不允許相應用戶的現有電子郵件。
public function update(Request $request, AreaManager $areaManager)
{
$request->validate([
'email'=>'required|email|unique:shopkeepers,email|unique:area_managers,email,'.$areaManager->id,
]);
$areaManager-> email = $request->email;
$areaManager->update();
return redirect()->route('area_manager.edit',$areaManager->id);
}
uj5u.com熱心網友回復:
快速檢查可能是這樣的:
$checkAreaManagers = DB::table('area_managers')->where('email', '=', $request->email)->first();
$checkShopkeepers = DB::table('shopkeepers')->where('email', '=', $request->email)->first();
if ($checkAreaManagers === null || $checkShopkeepers === null) {
// Proceed with the update
$areaManager->email = $request->email;
$areaManager->save();
}
if ($checkAreaManagers !== null || $checkShopkeepers !== null) {
// Cancel the update (Your logic here)
dd('Duplicate found');
}
uj5u.com熱心網友回復:
您應該使用此命令創建角色:
php artisan make:rule 角色名
然后在 pass 方法中設定您的查詢,然后在驗證器中使用
uj5u.com熱心網友回復:
$this->validate($request(),[
'email' => 'required|email',
'password' => 'required'
]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/377551.html
