Цикл по массиву и сохранение в базе данных нескольких записей Laravel php - PullRequest
0 голосов
/ 25 августа 2018

У меня есть опция множественного выбора и функция, которую я хочу, чтобы она циклически перебирала массив, выбирала одно значение и сохраняла в базе данных по одному, но теперь она сохраняет последний элемент в базе данных. например если кто-то выберет пять элементов одновременно, записи в БД должны быть 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)

где я ошибаюсь .... заранее спасибо

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Вам необходимо создать экземпляр $filledDocument внутри цикла foreach, например:

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();
}
0 голосов
/ 25 августа 2018

Мне удалось получить помощь от 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...