我对Doctrine还比较陌生,有些地方不太清楚。在这种情况下,我正在使用循环和实体管理器向数据库插入新记录。虽然它能正常工作,但我注意到Doctrine会根据实体进行一次插入查询,这可能会非常庞大。
我想知道如何使用Doctrine2和Symfony 2.3来设置,以便只生成一个包含所有值的插入查询(当然,我们只考虑一种实体)。
我的意思是将这个东西改成:
INSERT INTO dummy_table VALUES (x1, y1)
INSERT INTO dummy_table VALUES (x2, y2)
进入
INSERT INTO dummy_table VALUES (x1, y1), (x2, y2)
这是我的代码:
$em = $this->container->get('doctrine')->getManager();
foreach($items as $item){
$newItem = new Product($item['datas']);
$em->persist($newItem);
}
$em->flush();