使用Doctrine保留多个实体

时间:2019-01-09 10:40:47

标签: php doctrine persist

我已取出需要在数据库中发布的数组的集合。可以。

现在,我需要多保留一行,并且我正在尝试通过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();
 }

1 个答案:

答案 0 :(得分:1)

好像您在刷新后关闭了连接。尝试将对象加载并保留在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表示连接,因此您只需准备就绪即可提交到数据库即可刷新。