Menurut jawaban ini , Doctrine2 tidak mengizinkan Anda untuk menggabungkan beberapa pernyataan INSERT menjadi satu:
Anda dapat membaca lebih lanjut tentang pemrosesan batch Doctrine2 di sini:http://www .doctrine-project.org/blog/doctrine2-batch-processing.html
Anda dapat beralih ke DBAL atau menggunakan pemrosesan data Anda dalam kumpulan kecil dengan menghapus pengelola entitas Anda setelah sejumlah penyisipan yang ditetapkan:
$batchSize = 20;
foreach ($items as $i => $item) {
$product = new Product($item['datas']);
$em->persist($product);
// flush everything to the database every 20 inserts
if (($i % $batchSize) == 0) {
$em->flush();
$em->clear();
}
}
// flush the remaining objects
$em->flush();
$em->clear();