克隆主义实体保持关系

时间:2019-02-19 09:42:18

标签: php symfony doctrine

我试图将项目从一个EntityManager移至另一个(例如某种数据迁移),所以我想创建每个相关的Entity(如果不存在)并重用已有的实体。

我到处都阅读过使用clone $myEntity的信息,但是那行不通。


        $query = $fromEm->createQuery('SELECT u FROM AutocasionUserBundle:User u');
        $iterable = $query->iterate();

        foreach ($iterable as $user) {
            $newUser = clone $user[0];
            $fromEm->detach($user[0]);
            $toEm->persist($newUser);
            $toEm->flush();
        }

我还尝试了分离$ newUser,在__clone()魔术方法中取消了我的ID,但是我一直收到这样的错误:

  [Symfony\Component\Debug\Exception\ContextErrorException]  
  Notice: Undefined index: 000000002a39ac5d0000000077bcb768 

在这种情况下,User与名为Source的实体有关系,我想保留这种关系,因为Source ids存在于目标EntityManager中,因此User1->Source1现在应该是User2->Source1此处没有ID重置...

0 个答案:

没有答案