0
我對Laravel很新,我正在創建一個「更新配置文件」頁面。一切都很好,除了保存我的個人資料。由於我已經聲明電子郵件必須是唯一的 - 我會收到錯誤消息。非常有意義。我一直在閱讀this SO post關於我認爲是同樣的問題。如何使用同一電子郵件地址保存自己的個人資料?
我使用的形式請求來處理我的驗證:
public function rules()
{
return [
'name' => 'required',
'email' => 'required|unique:users,email,' . Auth::user()->id,
...
]
}
我的控制器:
public function store(UpdateAccountRequest $request)
{
$input = $request->all();
$user = new User();
$user->name = $input['name'];
$user->email = $input['email'];
if ($user->save()) {
...
}
...
}
它看起來像我正在上的MySQL側的錯誤:
Integrity constraint violation: 1062 Duplicate entry '[email protected]' for key 'users_email_unique'
來自CodeIgniter,過去我會有一個隱藏的字段與用戶ID或東西,並檢查如果用戶標識正在編輯他們自己的帳戶。如果是這樣,驗證會通過。我不確定最好的解決方法。
謝謝!