1
我有2名相關的實體是這樣的:關聯實體沒有合併正確
class Solicitation {
<some fields>
/**
* @var \User
*
* @ORM\ManyToOne(targetEntity="User", fetch="EAGER", inversedBy="solicitation")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_user", referencedColumnName="id_user", nullable=false)
* })
* @OrderBy({"nome" = "ASC"})
*/
private $user;
<more fields>
}
我不想級聯操作。問題是,當我嘗試堅持徵集,這樣之前合併現有用戶:
$em = $this->getDoctrine()->getManager();
if (!(\Doctrine\ORM\UnitOfWork::STATE_MANAGED === $em->getUnitOfWork()->getEntityState($solicitation->getUser()))) {
$em->merge($solicitation->getUser());
}
$em->persist($solicitation);
...它不會改變「被管理」用戶的UnitOfWork狀態。我還是「脫離」,我收到並保存錯誤。