我想使用doctrine 2 ..
在循环中插入多行我通常使用以下方法插入1条记录:
$实体 - >使用setData($贴); $这 - > _doctrine->坚持($实体); $这 - > _doctrine->冲洗();
答案 0 :(得分:2)
只需保留所有对象,然后在循环后调用flush()。
$entityDataArray = array(); // let's assume this is an array containing data for each entity
foreach ($entityDataArray AS $entityData) {
$entity = new \Entity();
$entity->setData($entityData);
$this->_doctrine->persist($entity);
}
$this->_doctrine->flush();
如果您要插入大量对象,则需要批量插入(请参阅http://www.doctrine-project.org/docs/orm/2.0/en/reference/batch-processing.html)
答案 1 :(得分:0)
在你的循环中,你应该能够简单地:
$entity1->setData($data1);
$this->_doctrine->persist($entity1);
$entity2->setData($data2);
$this->_doctrine->persist($entity2);
$this->_doctrine->flush();