LaravelのRequestを使ったバリデーションで自分自身の重複は無視したいとき
プロフィール更新の際に、自分自身のデータすら重複チェックに引っかかる
Laravelのバリデーションで重複チェックを入れていると、プロフィール更新の際に、自分自身のデータすら重複チェックに引っかかります。
なので、自分自身の値は無視して、重複チェックをしたいと思います。
(記事自体はたくさんあるのですが、Requestsを使ったちょうど良い記事が見つからなかったので…)
Requestsの中のPHPファイルに以下のように記載します。
public function rules() { return [ 'name' => 'required|string|max:255|unique:users,name,'.Auth::user()->name.',name', 'email' => 'required|string|email|max:255|unique:users,email,'.Auth::user()->email.',email', 'profile' => 'string|max:255', 'pic_icon' => 'string|max:255' ]; }
# unique:ユニークチェックをしたいテーブル名,ユニークチェックをしたいカラム名,ユニークチェックを除外したい値,ユニークチェックを除外したいカラム名