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'
我想验证 laravel 5.4 中的数组值。这是我的代码。它告诉我错误。 它显示
"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'card_no.0' in 'where clause' (SQL: select count(*) as aggregate from
cards
wherecard_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'