我希望通過寫入方法更新某些內容已更改的記錄。我有表格: 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)。 –