如何使用学说 2 在循环中插入多行

dea*_*ase 5 doctrine zend-framework

我想使用学说 2 在循环中插入多行..

我通常使用这个插入 1 条记录:

$Entity->setData($posted); $this->_doctrine->persist($Entity); $this->_doctrine->flush();

Mic*_*way 4

只需保留所有对象,然后在循环后调用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();
Run Code Online (Sandbox Code Playgroud)

如果您要插入大量对象,您将需要批量插入(请参阅http://www.doctrine-project.org/docs/orm/2.0/en/reference/batch-processing.html