【发布时间】:2016-12-07 18:33:43
【问题描述】:
问题是当我更改姓名、姓氏或电子邮件但不更改用户登录时。在我的验证中,我写道:
'name' => ['required', 'max:255', 'unique:users'],
但是当我没有更改用户名时,unique:users 规则阻止我更新。
我找到了这个主题Laravel 5 isDirty() always returns false,但我不明白什么是“$partnersData”。 $partnersData 是上次更新日期?
我写了这个方法:
public function update(CreateUserUpdateRequest $request, $id){
$user = User::find($id);
foreach ($user as $column => $value) {
if ($column === $id) {
continue;
}
$user->$column = $value;
}
if ($user->isDirty()) {
$user->update($request->all());
Session::flash('userUpdateOK', 'Dane użytkonika zostały zaktualizowane poprawnie.');
}
return redirect('user');
}
【问题讨论】:
-
问题不清楚。是否要更新记录并收到名称验证错误?
-
如果您希望
name与unique规则一起保留以进行验证,请尝试添加 Forcing A Unique Rule To Ignore A Given ID 中解释的其他规则。