今天遍历添加数据时遇到个坑,哪位大神知道什么原因??
起初的代码是这样的:(部分)
public function addActive(Request $request, Activenorms $activenorms){
$specifications = $request->get('specification'); //活动规格
if(!$specifications || !is_array($specifications)){
return response()->json(['message' => '请填写正确活动规格'], 500);
}
foreach ($specifications as $key=>$value) {
$activeNorms->active_id=$id;
$activeNorms->active_price_name=$value['active_price_name'];
$activeNorms->active_price_money=$value['active_price_money'];
$activeNorms->active_max_players=$value['active_max_players'];
$activeNorms->save();
}
}
这样的代码是无论数组中有多少规格,永远只在数据表里添加了最后一条数据...
试着改成这样:
public function addActive(Request $request){
$specifications = $request->get('specification'); //活动规格
if(!$specifications || !is_array($specifications)){
return response()->json(['message' => '请填写正确活动规格'], 500);
}
foreach ($specifications as $key=>$value) {
$activeNorms=new ActiveNorms();
$activeNorms->active_id=$id;
$activeNorms->active_price_name=$value['active_price_name'];
$activeNorms->active_price_money=$value['active_price_money'];
$activeNorms->active_max_players=$value['active_max_players'];
$activeNorms->save();
}
}
然后就能正常的添加多条数据了...
什么原因???有大神能解析下吗??