遍历数组并在数据库中保存多个记录Laravel PHP

时间:2018-08-25 08:28:35

标签: php laravel

我有一个多选选项和一个函数,我希望它循环遍历数组并选择一个值,然后一次将其保存到数据库中,但是现在它将最后一项保存在数据库中。例如如果某人一次选择了五项,则在DB中输入的记录应该是5条记录

代码

assert

我同时使用了foreach的两个版本。

$kycs = json_decode($input['document_type_ids']);

foreach($kycs as $key => $kyc){
  $input['kyc_type'] = CheckList::find($kyc)->slug;

  $filledDocument->payload = json_encode($input);

  $filledDocument->save();
}

我要去哪里了......先谢谢了

2 个答案:

答案 0 :(得分:0)

我确实从laracast那里得到了帮助...

 foreach($kycs as $key => $kyc){
   $filledDocument = new ClientFilledInvestmentApplicationDocument();  
 }

我必须在循环中创建$ fileDocument的实例...

https://laracasts.com/discuss/channels/eloquent/save-method-only-writing-last-record-in-foreach-loop?page=1

答案 1 :(得分:0)

您需要在foreach循环中创建$filledDocument的实例,例如:

foreach($kycs as $key => $kyc){
  $input['kyc_type'] = CheckList::find($kyc)->slug;
  $filledDocument = new FilledDocument(); // replace with your model here
  $filledDocument->payload = json_encode($input);
  $filledDocument->save();
}