0

我正在尝试在这些实体上进行 DQL 查询(来自 symfony 2.2 的原则)但没有成功:

有几个课程内容的课程,每个课程内容都链接到一个用户

我想检索用户的所有课程(应该是非常基本的......)。

SELECT l, lc FROM MyBundle:LessonContent lc 
JOIN lc.lesson l JOIN lc.modifiedBy u 
WHERE lc.creation=1 AND u.id = :userId

但这会返回 LessonContent 实体。如果我从课程中选择,我将无法加入课程(这可能是我应该做的)。

谁能帮我?

4

2 回答 2

1

您从中查询的主表是什么学说作为主要对象返回给您,因此以下应该有效(假设 l.content 指向 LessonContent 关联):

SELECT l, lc FROM MyBundle:Lesson l
JOIN l.content lc
JOIN lc.modifiedBy u
WHERE lc.creation=1 AND u.id = :userId
于 2013-02-15T13:04:01.457 回答
0

事实证明,我需要一个 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

有了它,它就像一个魅力!

于 2013-02-15T20:16:25.920 回答