ハマログ

株式会社イーツー・インフォの社員ブログ

Laravel5.4のバリデーションの重複チェックで自分自身は除外

更新時にメールアドレス重複の確認などで使う場合、自分自身のを除外する必要がありますね。
今回は、その方法を調べました。

ドキュメントはこちら

「unique:テーブル,カラム,除外ID,IDカラム」で指定できます。
'email' => 'unique:users,email_address,'.$user->id.',user_id'

ご覧のとおり、このスタイルは覚えにくいです。ドキュメントを参照する必要があります。

Laravel v5.3.18以降、このルールは新しいRuleクラスの導入によって簡素化されました。

指定されたIDのuniqueルールを無視する

バリデータにユーザIDを無視するように指示するには、Ruleクラスを使います。
以下の例の場合、さらにルールを|文字を区切りとして使用する代わりに、バリデーションルールを配列として指定しています。

use Illuminate\Validation\Rule; Validator::make($data, [ 'email' => [ 'required', Rule::unique('users')->ignore($user->id), ], ]);

これで自分自身を除外することができました(^^♪
めでたし、めでたしです。

LaravelLaravel5PHPuniqueValidation

  S.I   2017年8月29日


関連記事

MacにXAMPPいれたらphpMyAdminが起動しませんでしたの巻

こんにちは、ウェブソリューション事業部のかねこです。 桑ちゃんに「MacにもXA…

『ヤバい!WordPress管理画面のID / Pass忘れた!』って時のはなし。

どうも! お久しぶりでございます。宇都宮です。 別の会社にいる幼馴染が社内ブログ…

Laravel4.2のソフトデリート(論理削除)について

Laravel4.1で開発中のシステムをLaravel4.2にアップグレードしま…


← 前の投稿

次の投稿 →