我想将数据从一个数据库复制到另一个数据库。我从两个不同的实体经理(emLocal,emRemote)获得两个客户。
客户实体与FosUser处于oneToOne关系 刷新尝试插入空白用户。即使我尝试分离相关实体并将每个关系设置为null。
我从github读到,FosUserBundle不适用于两个实体管理器
$remoteCustomer = $order->getCustomer();
$onlineCustomer = $this->emLocal->getRepository("LilWorksStoreBundle:Customer")->findOneBy(array("remoteUser"=>$remoteCustomer->getUser()->getId()));
if(!$onlineCustomer){
$onlineCustomer = clone $remoteCustomer;
}
$this->emLocal->detach($onlineCustomer->getUser());
$onlineCustomer->getUser()->setCustomer(null);
$onlineCustomer->setUser(null);
$this->emLocal->persist($onlineCustomer);
$this->emLocal->flush();
如何阻止此INSERT?
答案 0 :(得分:1)
我相信您应该使用其他Entity Manager
来保存$onlineCustomer
。
$this->emOnline->persist($onlineCustomer);
$this->emOnline->flush();