Join DQL选择联接
我试图进行DQL查询(symfony 2.2中的原则),但在这些实体上没有成功: 教训 其中有几节课的内容 每个链接到一个用户 我想检索用户的所有课程(应该是非常基本的…) 但这将返回LessonContent实体。如果我从课程中选择,我将无法加入课程(这可能是我应该做的)Join DQL选择联接,join,doctrine,dql,Join,Doctrine,Dql,我试图进行DQL查询(symfony 2.2中的原则),但在这些实体上没有成功: 教训 其中有几节课的内容 每个链接到一个用户 我想检索用户的所有课程(应该是非常基本的…) 但这将返回LessonContent实体。如果我从课程中选择,我将无法加入课程(这可能是我应该做的) 有人能帮我吗?您从中查询的主表是作为主要对象返回给您的,因此以下操作应该有效(假设l.content指向LessonContent关联): 事实证明,我需要一个l.content*s*属性,以便能够从课程中进行选择,然后加入
有人能帮我吗?您从中查询的主表是作为主要对象返回给您的,因此以下操作应该有效(假设l.content指向LessonContent关联):
事实证明,我需要一个l.content*s*属性,以便能够从课程中进行选择,然后加入其他课程 实体:
/**
* @var ArrayCollection $contentHistory
* @ORM\OneToMany(targetEntity="AAA\CoreBundle\Entity\LessonContent", mappedBy="lesson", cascade={"persist", "remove"})
* @ORM\OrderBy({"lastModified" = "DESC"})
*/
private $contentHistory;
查询:
SELECT l FROM AAACoreBundle:Lesson l JOIN l.contentHistory lc JOIN lc.modifiedBy u WHERE lc.creation=1 AND u.id = :userId GROUP BY l
有了它,它就像一个符咒
/**
* @var ArrayCollection $contentHistory
* @ORM\OneToMany(targetEntity="AAA\CoreBundle\Entity\LessonContent", mappedBy="lesson", cascade={"persist", "remove"})
* @ORM\OrderBy({"lastModified" = "DESC"})
*/
private $contentHistory;
SELECT l FROM AAACoreBundle:Lesson l JOIN l.contentHistory lc JOIN lc.modifiedBy u WHERE lc.creation=1 AND u.id = :userId GROUP BY l