我试图用一个注释获取很多的关系,但只要我使用联接我将结束与以下数据:学说2个实体一对多关系
entities\Topic
id = 1 // integer
title = "example" // string
comments // entities\Comment = oneToMany
id = 1 // integer
comment = "first comment" // string
topic // entities\Topic = manyToOne
id = 1 // again..
title = "example"
为什么当我加入主题评论时,doctrine是否取得评论中的manyToOne关系?这是我的查询:
$this->em->createQueryBuilder()
->from('Entities\Topic', 't')
->select("t, c")
->leftjoin("t.comments", 'c')
->where('t.id = :id')
->setParameter('id', 1)
->getQuery()->getSingleResult();
不应该主题属性为空或至少是一个空的arrayCollection?
另一件事:
为什么我得到一个PersistentCollection早在评论时,我指定评论是一个ArrayCollection?在我可以循环访问之前,是否总是需要在PersistentCollection上使用解包?
有没有办法关闭儿童的人口儿童?我将数据发送回客户端,因此我需要尽可能保持简约而不会失去灵活性。 – Dennis 2011-04-16 09:14:59
说实话,我不确定最好的方法。我通常为要序列化的任何实体编写一个toArray()方法,因此我可以控制序列化并发送到客户端的树的深度。 – timdev 2011-04-16 16:26:49