【问题标题】:how to make validation on composite unique key如何对复合唯一键进行验证
【发布时间】:2020-04-24 03:23:43
【问题描述】:

我的数据库中有三列,

我需要对这些列进行验证,

并使它们的树独一无二。

 Validator::make($request->all(),
        [

        'name' => 'required|min:4|string',
        'color'=>'required',
        'size_id'=>'required',

        ]);

我已经试过了

   Validator::make($request->all(),
    [
    'name' => 'required|min:4|string|unique:products,name,color,size_id',
    'color'=>'required|unique:products,color,name,size_id',
    'size_id'=>'required|unique:products,size_id,name,color',
     ]);

我试过了

$color = $request->input('color');
        $size_id = $request->input('size_id');
        $name = $request->input('name');
        // dd($name);
        return 
        Validator::make($request->all(),
        [
        'name' => 'required|min:4|string|unique:products,name,'.'NULL'.',color,'.$color.',size_id,'.$size_id,
        'description'=>'required|min:4',
        'quantity'=>'required|numeric',
        'subcategory_id'=> 'required',
        'category_id'=> 'required',
        'price'=> 'required|numeric',
        'color'=>'required|unique:products,color,'.'NULL'.',name,'.$name.',size_id,'.$size_id,
        'size_id'=>'required|unique:products,size_id,'.'NULL'.',name,'.$name.',color,'.$color,
        'cover'=>'required|image:png,jpg,jpeg', 
        // 'images'=>'image:png,jpg,jpeg', 
        'images.

*'=>'image:png,jpg,jpeg', 
        ]);

但是当我检查它是否失败时它返回未定义的偏移量 3! 谢谢

【问题讨论】:

标签: php laravel


【解决方案1】:
    $color = $request->get('color');
    $size_id = $request->get('size_id');
    $name = $request->get('name');
    // dd($name);
    return 
    Validator::make($request->all(),
    [
    'name' => 'required|min:4|string|unique:products,name,NULL,id,color,'.$color.',size_id,'.$size_id,
    'description'=>'required|min:4',
    'quantity'=>'required|numeric',
    'subcategory_id'=> 'required',
    'category_id'=> 'required',
    'price'=> 'required|numeric',
    'color'=>'required|unique:products,color,NULL,id,name,'.$name.',size_id,'.$size_id,
    'size_id'=>'required|unique:products,size_id,NULL,id,name,'.$name.',color,'.$color,
    'cover'=>'required|image:png,jpg,jpeg', 
    // 'images'=>'image:png,jpg,jpeg', 
    'images.*'=>'image:png,jpg,jpeg', 
    ]);

上面的代码解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 2013-09-17
    • 1970-01-01
    • 2013-12-10
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多