bugfix> laravel > 投稿

テーブルスキーマの構造は次のとおりです。

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,deleted_at,NULL'
    ]);
    
    

    これは、NULLではなく値を持つdeleted_atを無視します。

  • これを試すことができます:

    $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パターンの場合のみ)。詳細については、これをご覧ください

あなたの答え