動作環境
- laravel8
やりたいこと
emailの重複チェックの対象をログインユーザー以外に行いたい
結論
class UserRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => ['required', 'string', 'max:255'],
//'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'email' => ['required', 'string', 'email', 'max:25', Rule::unique('users')->ignore(Auth::id())],
];
}
}
例えば

こんなようなフォームを作ってしまいまして、
パスワードだけを変更したいのにこのまま更新をすると
「emailかぶってるよ!!]
と怒られてしまいました。
「自分のemailなんだからそうだろうなっ!!」
と少し揉めましたが
このような形で自身の重複を外すことができました。
最後に
laravel勉強中でしてアウトプットとして投稿させていただきました。
ドキュメントを読んでるつもりでも作ってみてわかることは非常に多いですね。
おわり