繁体   English   中英

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

[英]Loop through an array and save in database multiple records Laravel php

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

$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();
}

我已经使用了foreach的两个版本

foreach($kycs as $kyc)  && oreach($kycs as $key => $kyc)

我要去哪里了...。

我确实设法从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

您需要在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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM