как сделать проверку на составном уникальном ключе - PullRequest
0 голосов
/ 06 января 2020

у меня есть три столбца в моей базе данных,

мне нужно сделать проверку для этих столбцов,

и сделать их дерево уникальным.

 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, когда я проверяю, провалился он или нет! спасибо

1 Ответ

0 голосов
/ 06 января 2020
    $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', 
    ]);

код выше решил мою проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...