laravel 5.4中的数组验证出错

时间:2018-02-13 05:35:28

标签: laravel-5 laravel-5.3

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

  

“SQLSTATE [42S22]:未找到列:1054未知列'card_no.0'中   'where子句'(SQL:从cards中选择count(*)作为聚合   card_no0 = 2005)“

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

叶片

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');
}

1 个答案:

答案 0 :(得分:0)

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

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