如何使用Doctrine将记录插入表中

时间:2015-06-18 16:41:41

标签: doctrine-orm zend-framework2 append sql-insert

我正在为我正在开发的项目使用zf2和Doctrine,我需要创建一个函数来获取SELECT查询中的所有记录,并将它们插入或附加到另一个表(或实体)中。 Doctrine documentation表示QueryBuilder仅提供SELECTDELETEUPDATE功能,我记得在某处找不到INSERTAPPEND因为Doctrine不希望仅通过更新一个与他人有关系的表来失去对可能丢失的相关记录的控制。

如何使用Doctrine将一组记录添加到表中?

1 个答案:

答案 0 :(得分:2)

您可以从记录创建enities并将它们推送到db:

foreach ( $records as $record ) {
    $someEntity = new SomeTable();

    $someEntity->setName($record['name']);
    $someEntity->setFoo($record['bar']);

    $em->persist($someEntity);
}

$em->flush();