Doczy LazyLoad

时间:2014-11-26 15:21:29

标签: symfony doctrine-orm lazy-loading

我尝试在项目中使用延迟加载。但它没有用。这是我的关系定义:

/** * @ORM\OneToMany(targetEntity="\Acme\TripBundle\Entity\TripRespond", mappedBy="trip", fetch="EXTRA_LAZY", cascade={"persist"}) */ private $responds;

但是当我var_dump我的旅行时,它返回所有相关的实体。我做错了什么?

获取旅行:

        $trips = $this->getDoctrine()->getRepository('AcmeTripBundle:Trip')->searchByPoints($startPoint, $endPoint);
        var_dump($trips);die;

1 个答案:

答案 0 :(得分:1)

默认情况下,Doctrine延迟加载对象,除非调用任何方法。 当对象延迟加载时,它会创建一个具有以下属性和值的代理类:

["__IS_PROXY__"] => bool(true)
["__PROXY_INITIALIZED__"] => bool(false)

尝试使用\Doctrine\Common\Util\Debug::dump($trips);转储对象,并查看是否存在此类属性/值。