首页 > 解决方案 > 使用 Doctrine 持久化多个实体

问题描述

我已经提取了需要在数据库中发布的数组集合。有用。

现在,我需要坚持超过一排,我正在尝试使用 foreach 循环来做到这一点,但它不起作用。

我的部分代码:

$dataset = array();

            foreach ($dataset as $data) {

                $a = new User();

                $a->setFirstName($data[3]);
                $a->setLastName($data[5]);
                $a->setUsername($data[13]);
                $a->setEmail($data[14]);
                $a->setCompany($data[23]);

                $this->em->persist($a);
                $this->em->flush();
 }

标签: phpdoctrinepersist

解决方案


看起来您在刷新后关闭了连接。尝试在 foreach 循环中加载和持久化对象,然后在外部刷新一次。

$dataset = array();

        foreach ($dataset as $data) {

            $a = new User();

            $a->setFirstName($data[3]);
            $a->setLastName($data[5]);
            $a->setUsername($data[13]);
            $a->setEmail($data[14]);
            $a->setCompany($data[23]);

            $this->em->persist($a);
        }

        $this->em->flush();

EntityManager 代表连接,因此您只需要在准备好提交到数据库时刷新。


推荐阅读