LaravelのFormRequestで自分以外の項目との重複チェック

とあるLaravelのプロジェクトにおいてユーザーデータを更新する際FormRequestでバリデーションをするようにしていたのだが、メールアドレスを変更せず他のデータを更新しようとした場合、自分自身のメールアドレスがuniqueに引っかかってしまい更新できなかった。

たかがメールアドレス1つのために別のバリデートロジック書くのも面倒だなと思ったところ、公式ドキュメントに以下のような対応策が書かれていた。

Validator::make($data, [
    'email' => [
        'required',
        // 該当の項目ではなくキー項目を渡す!!
        Rule::unique('users')->ignore($user->id),
    ],
]);

参考:

readouble.com