Есть массив строк - $rows, каждая строчка массива передается в функцию aggregator.
public function uploader($rows)
{
foreach ($rows as $row => $data) {
$this->aggregator($data);
}
...
}
В функции aggregator над каждой строкой выполняются многочисленые действия, после чего разные части строк записываются по таблицам.
public function aggregator($data)
{
...
table1->column1=data[1];
...
table1->column10=date[10];
table1->save();
...
table2->column1=data[11];
table2->column2=table1->column3;
...
table2->save();
}
Проблема в том, что для очень большого массива $rows запись занимает длительное время. Меня интересует как можно накопить записи в массив в функции aggregator, а потом записывать какое-нибудь определенное число строк в функции uploader. Нужен какой-нибудь batchInsert, но не совсем понятно, как написать его в этой ситуации.