質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

1004閲覧

laravelの論理削除の重複

ORyohei

総合スコア18

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2020/08/29 03:45

laravelで論理削除をしたユーザーのバリデーションを除外したいです。
新規登録、ログインはemial、パスワードで行なっています。

https://teratail.com/questions/96920
の記事を参考に以下を試したのですが、エラーが出てしまいます。
何か原因はありますでしょうか

バリデーション

'email' => 'required|email|max:255|unique:users,email,NULL,id,deleted_at,NULL',

エラー

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

バージョン

laravel5.8 ```

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

php

1[ 2 'required', 3 'email', 4 'max:255', 5 'email' => Rule::unique('users')->where(function ($query) { 6 return $query->whereNotNull('deleted_at'); 7 }) 8]

多分こう。実行してまでの検証はしてません。


手元の環境で試してみた。

php

1[ 2 'required', 3 'email', 4 'max:255', 5 'email' => Rule::unique('users')->where(function ($query) { 6 return $query->whereNull('deleted_at'); 7 }) 8]

これで問題なく動いた

投稿2020/08/29 04:12

編集2020/08/29 05:10
phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ORyohei

2020/08/29 04:38

ご回答ありがとうございます。試して見ましたが、論理削除しているユーザーのアドレスだとバリデーションで引っかかり、そ以外だと上記と同じエラーが出てしまいました。
phper.k

2020/08/29 04:52

現象を再現できるソースコードを全て提示ください。 コメントだけだと、回答通りの作業をしているかどうかすらわかりませんから。
ORyohei

2020/08/29 14:54

ご指導本当にありがとうございます。無事解決出来ました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問