teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コードの追加

2020/08/28 07:28

投稿

ORyohei
ORyohei

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,21 @@
1
- laravelで新規登録をするときに、論理消去したユーザーのメールアドレスがバリデーションに引っかかるので、deleted_atがnulであるという条件を付け足したいのですが、調べてもピンとくる情報が見当たらなかったので質問させていただきましたバリデーションカスタマイズをしなければいけないのでしょうか。ユニークにルールを足したやり方で試したのですがうまく行きませんでした
1
+ laravelで新規登録をするときに、論理消去したユーザーのメールアドレスがバリデーションに引っかかるので、deleted_atがnulであるという条件を付け足したいのです。
2
+ バリデーションカスタマイズをしなければいけないのでしょうか。公式に書いてある以下の方法を試したのですがうまく行きませんでした。
2
3
 
4
+ ```ここに言語を入力
5
+ 追加のWHERE節を付け加える
3
6
 
7
+ さらにクエリーの"where"節として追加の検索条件を付け加えることもできます。
8
+
9
+ 'email' => 'unique:users,email_address,NULL,id,account_id,1'
10
+ 上のルールでは、account_idが1のレコードのみuniqueチェックに使用されます。
11
+ ```
12
+
13
+
4
14
  試したコード
5
15
  ```ここに言語を入力
6
- 'email' => ['required','string','email','max:255', Rule::unique('users', 'email')->whereNull('deleted_at')],
16
+ 'email' => 'required|string||max:255|email|unique:users,deleted_at,NULL',
7
17
  ```
8
18
 
19
+ 何か見落としているところはありますでしょうか。
20
+
9
21
  バージョンはlaravel5.8です。

1

コードの追加

2020/08/28 07:28

投稿

ORyohei
ORyohei

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,9 @@
1
- laravelで新規登録をするときに、論理消去したユーザーのメールアドレスがバリデーションに引っかかるので、deleted_atがnulであるという条件を付け足したいのですが、調べてもピンとくる情報が見当たらなかったので質問させていただきました。バリデーションカスタマイズをしなければいけないのでしょうか。
1
+ laravelで新規登録をするときに、論理消去したユーザーのメールアドレスがバリデーションに引っかかるので、deleted_atがnulであるという条件を付け足したいのですが、調べてもピンとくる情報が見当たらなかったので質問させていただきました。バリデーションカスタマイズをしなければいけないのでしょうか。ユニークにルールを足したやり方で試したのですがうまく行きませんでした
2
2
 
3
3
 
4
+ 試したコード
4
5
  ```ここに言語を入力
5
- 'email' => ['required','string','email','max:255','unique:users'],
6
+ 'email' => ['required','string','email','max:255', Rule::unique('users', 'email')->whereNull('deleted_at')],
6
- ```
7
+ ```
8
+
9
+ バージョンはlaravel5.8です。