テーブルスキーマの構造は次のとおりです。
e_base
s_id | e_id | e_name | deleted_at
4 1 estatex | 2018-05-25 13:33:36
Validation Rule:
$validator = Validator::make($request->all(),[
'e_id' => 'required|unique:e_base,e_id'
]);
if($validator->fails()) {
return Response::json($validator->getMessageBag()->toArray();, 400);
}
私のlaravelのバージョンは5.2であり、このルールを回避することはできません。誰かが私を助けてくれることを願っています
回答 2 件
これを試すことができます:
$validator = Validator::make($request->all(),[ 'e_id' => 'required|unique:e_base,e_id,NULL,e_id,deleted_at,NULL' ]);
これは、deleted_at列がnullに等しい場合にe_baseテーブルのみをチェックし、e_idがNULLに等しい行を無視することを示します(do likeパターンの場合のみ)。詳細については、これをご覧ください
関連記事
- オブジェクトフィールド値とオブジェクトキーをTsx要素にマップするための簡略チェック
- 一意のフィールドエラーが発生したときにDjangoのデータを更新する方法
- エラーコード:1062。UPDATEを使用したキーの一意のデータフィールドのエントリが重複しています。 MYSQL
- 'unique'にtranslateフィールドを使用すると、NameError、django-parlerが発生します
- 入力フィールドが変更されているかどうかを確認します
- 配列にネストされたドキュメントのフィールドに一意の制約を設定するにはどうすればよいですか?
- jsの入力フィールドを確認し、テキスト値に基づいて書き込みと回答を行うにはどうすればよいですか?
- firebaseにintフィールドが存在するかどうかを確認する方法
これを試してみてください:
これは、NULLではなく値を持つdeleted_atを無視します。