新しい従業員を作成している間、私はちょうど呼んでいるので、それは、非常に簡単です:既存の従業員の編集中に
$this->validate($request, [
'employee_number' => 'required|unique:employees'
]);
しかし、どのように私はこれを行うことができますか?私は「編集された」EMPLOYEE_NUMBERは他ユーザーのための一意である場合(チェックしたいと思います...それは私がこの
を実行しようとしましたemployee_number NOT IN (SELECT employee_number
FROM employees
WHERE id = *edited_user_id*)
検証フォームlaravelするために、この問合せをリライトする必要があることを意味します
$this->validate($request, [
'employee_number' => 'required|unique:employees,id,'.$input['employee_id']
]);
私はフランクのデータを変更しようとすると、レコードがテーブルにある「従業員」を
id | name | employee_number
-----------------------------
1 | Peter | 0001
2 | Paul | 0002
3 | Frank | 0003
を想像して - >それは私が彼を変更してもOKです。..従業員番号はいくつかのユニークなものに従業員番号、それは正常に..
しかし、私はフランクのアカウントのために既存のものを挿入すると、0001それは私に従業員の番号が既に取られている(Validatorから)適切なエラーメッセージを与えません..しかし、その代わりに、それは
Whoops, looks like something went wrong.
QueryException in Connection.php line 669:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0001' for key 'employees_employee_number' (SQL: *here comes the wrong sql query*)
エラーページに私をリダイレクトしますが、私は右の私は、新しい従業員を挿入し、既存のIDを挿入しようとしようとしたときのようなフォームの上、適切なエラーバーを上げることができる方法を知っていますか?
maaaaaaan、あなたは私の救い主です:)私はあなたにビールを借りています! +1ありがとうございます –