【发布时间】:2021-05-10 01:38:38
【问题描述】:
我想在更新表单时忽略“唯一验证”,只在创建时需要它
这是请求文件夹中的规则,我在更新“移动”字段和“电子邮件”字段时传递了“id”以忽略它
public function rules()
{
return [
'logo' => 'required_without:id|mimes:jpg,jpeg,png',
'name' => 'required|string|max:100',
'category_id'=>'required|exists:main_categories,id',
'mobile' =>'required|max:100|unique:vendors,mobile,'.$this -> id,
'email' => 'required|email|unique:vendors,email,'.$this -> id,
'password'=>'required_without:id',
'address'=>'required|string|max:300',
];
}
但是没有任何效果 unique validat
这个控制器更新方法
public function update($id, VendorsRequest $request){
// return $request;
//validation
//update
try{
$vendor= vendors::Selection()->find($id);
if(!$vendor)
return redirect()->route('admin.vendors')->with(['error' => 'المتجر دا مش موجود ممكن تجرب مرة تانية']);
DB::beginTransaction();
if($request->has('logo')) {
$filepath = uploadImage('vendors', $request->logo);
vendors::where('id', $id)
->update([
'logo' => $filepath,
]);
}
$data= $request-> except('_token','id','logo','password');
if($request->has('password')){
$data['password'] = $request->password;
}
vendors::where('id',$id)
-> update($data);
DB::commit();
return redirect()->route('admin.vendors')->with(['success' => 'تم التحديث بنجاح']);
}catch (\Exception $ex){
DB::rollBack();
return $ex;
}
这是路线
Route::prefix('vendors')
->group(function(){
Route::get('/', [VendorsController::class, 'index'])->name('admin.vendors');
Route::get('create', [VendorsController::class, 'create'])->name('admin.vendors.create');
Route::post('store', [VendorsController::class, 'store'])->name('admin.vendors.store');
Route::get('edit/{id}', [VendorsController::class, 'edit'])->name('admin.vendors.edit');
Route::post('update/{id}', [VendorsController::class, 'update'])->name('admin.vendors.update');
Route::get('delete/{id}', [VendorsController::class, 'destroy'])->name('admin.vendors.delete');
表格字段的选择
public function ScopeSelection($query){
return $query -> select('id','name','logo','mobile','address','email','password','category_id','active','created_at','updated_at');
}
我需要帮助
【问题讨论】:
标签: php laravel forms validation backend