なるの備忘録

エンジニアリングそして営業ができるエンジニアに向けて、日々学んだことをアウトプットしていきます。

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:ユニークチェックをしたいテーブル名,ユニークチェックをしたいカラム名,ユニークチェックを除外したい値,ユニークチェックを除外したいカラム名