今天遍历添加数据时遇到个坑,哪位大神知道什么原因??
起初的代码是这样的:(部分)
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(); } }
然后就能正常的添加多条数据了...
什么原因???有大神能解析下吗??