laravel 5.4 中的数组验证错误

Error on array validation in laravel 5.4

我想验证 laravel 5.4 中的数组值。这是我的代码。它告诉我错误。 它显示

"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'card_no.0' in 'where clause' (SQL: select count(*) as aggregate from cards where card_no.0 = 2005)"

当我尝试插入重复的 2005 时。是否可以显示哪个值不正确?提前致谢。

blade

name="card_no[]"

控制器功能

public function store_card(Request $request)
{
   $this-> validate(request(),[ 
    "card_no.*" => 'required|max:255|unique:cards', 
    ]);


    $ent_date = date("Y-m-d");
    $card_no = $request->card_no;


    foreach($card_no as $value){ 
        $card = new card() ;
        $card->card_no = $value;
        $card->ent_date = $ent_date;
        $card->flag = '1';
        $card->save();
                  }

    return redirect('card');
}

您必须为唯一规则提供列名称,如果您不这样做,Laravel 将自行添加输入名称。 可以参考Laravel文档here。 要解决此问题,请将规则更改为以下内容:

"card_no.*" => 'required|max:255|unique:cards,card_no'