質問: usersテーブルに、論理削除機能を保持しようと、 $table->softDeletes(); を付与しています。 バリデーションチェックにて、以下のようにチェックしています。 ``` public function rules() { return [ 'email' => 'required|email|max:50|unique:users', ]; } ``` 論理削除が無視されてチェックされてしまいますが、これを考慮するにはどのように すればよろしいでしょうか?
回答: deleted_atの論理削除はEloquentでしか面倒をみてくれないので、論理削除を考慮するには、uniqueバリデーションの追加のWHERE節を付け加える方法を参照してください Laravel 5.1 バリデーション localdiskさんの記事より抜粋ですが、以下でできるかと思います。 Laravel の unique ルールとソフトデリート ``` 'email' => 'unique:users,email,NULL,id,deleted_at,NULL' ``` その他の参考記事 [Laravel]バリデーションのuniqueにおける条件指定について