Doctrine orm doctrine2和x27;在会话中,如果有关联,则无法正常工作
我试图从doctrine2中的实体_管理器中分离一个对象,以便将其置于会话中,但它不起作用。当有关联的时候就没有了 例: 它不工作,我有所有的对象依赖,代理 如果我在拆离前这么做 $bundle->setOrder(新订单()) 那么序列化就完美了,我只有一个包Doctrine orm doctrine2和x27;在会话中,如果有关联,则无法正常工作,doctrine-orm,Doctrine Orm,我试图从doctrine2中的实体_管理器中分离一个对象,以便将其置于会话中,但它不起作用。当有关联的时候就没有了 例: 它不工作,我有所有的对象依赖,代理 如果我在拆离前这么做 $bundle->setOrder(新订单()) 那么序列化就完美了,我只有一个包 我在这里遗漏了什么?即使您的对象被分离,它仍然有用于创建它的条令组件的引用 作为一个简单的建议,我可以告诉您只需序列化对象标识符即可。这更简洁,虽然需要在另一端执行查询(非序列化部分),但可以避免很多问题 只是不要序列化你的实体,这很混
我在这里遗漏了什么?即使您的对象被分离,它仍然有用于创建它的条令组件的引用 作为一个简单的建议,我可以告诉您只需序列化对象标识符即可。这更简洁,虽然需要在另一端执行查询(非序列化部分),但可以避免很多问题 只是不要序列化你的实体,这很混乱
<?php
namespace Travelyo\CoreBundle\Entity\Order;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="bundles")
* /
class Bundle
{
/**
* @var integer $id
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Order", inversedBy="orders",cascade={"detach","merge","remove"})
* @ORM\JoinColumn(name="order_id", referencedColumnName="id")
*/
private $order;
}
$em = $this->getDoctrine()->getEntityManager();
$bundle = $em->getRepository('TravelyoCoreBundle:Order\Bundle')->find(27);
$em->detach($bundle);
$em->detach($bundle->order);
serialize($bundle);