我希望通过写入方法更新某些内容已更改的记录。我有表格: Laravel更新记录,其中的某些内容已更改
问题是当我更改名称,姓氏或电子邮件,但不更改用户登录。在我确认我写的:
'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');
}
问题不清楚。你想更新记录并获取名称验证错误吗? – Abhishek
如果您希望您的'name'通过'unique'规则进行验证,请尝试添加在[强制忽略给定ID的唯一规则]中解释的其他规则(https://laravel.com/docs /5.3/validation#rule-unique)。 –