你能帮我写一个代码吗,将生成器的结果分成100个一组,并将它们更美观地保存到数据库中。
$batchSize = 100;
$batch = [];
$i = 0;
/**
* @yield array $item
*/
foreach(itemsGenerator() as $item) {
$batch[] = $item;
$i++;
if ($i === $batchSize) {
Db::table('items')->save($batch);
$batch = [];
$i = 0;
}
$cnt++;
}
if ($batch) {
Db::table('items')->save($batch);
}
我不想在itemsGenerator
中放置将逻辑分成块的代码。