2017-10-07 52 views
0

我使用此功能将数据插入表格形式:更新重复probem在控制器

控制器:

public function store(request $request) 
    { 
     $this->validate($request, [ 
     'email' => 'required|unique:users|email', 
     'mobile' => 'nullable|unique:users', 
     ]); 
     User::create($request->all()); 
     return redirect(route('users')); 
} 

用于更新我用这个:

public function update(Request $request, User $user) 
{ 
     $this->validate($request, [ 
     'email' => 'required|unique:users|email', 
     'mobile' => 'nullable|unique:users', 
     ]); 
     $user->update($request->all()); 
     return redirect(route('users')); 
} 

我有一个问题。我无法保存(更新)编辑后的表格。

,因为它返回一个错误:

1062 Duplicate entry for email and mobile

在编辑的形式,也许我不会改变电子邮件......所以我要保存而不改变当前的电子邮件形式...

我怎样才能管理它?

+0

在你更新功能,您可以返回$请求;在更新函数之前,让我们看看你的要求是什么 – zuif

回答

0

忽略记录您所比较:

'email' => 'required|unique:users,email,'.$user->id.'|email', 
'mobile' => 'nullable|unique:users,mobile,'.$user->id