学说 - 有关相关实体条件的查询



我有此架构:

 Entity        Doctrine-generated        Entity
+++++++++       ++++++++++++++++        +++++++
+Student+ ----- +Student/Events+ ------ +Event+
+++++++++       ++++++++++++++++        +++++++

这所说的是,学生可以有很多事件,并且具有多托马尼的关系。学生是关系的自有方面。

添加每个Eventid并将其关联到Student。当然,映射表是由ManyToMany自动生成的。

我正在为此使用event sourcing,因此每个Student都有status,该状态是学生的最后一个事件。

现在,我想获取所有具有给定状态的Students,例如" IN_REVIEW"。请记住,状态由学生的最后一个活动表示。

»仅在一次数据库中,我该如何用学说来做到这一点?更具体地说,我想使用查询构建器进行此操作。

pd:我有以下代码:

  $qb->select('a')
  ->from("DnDRaHApiBundle:Student", "a")
  ->leftJoin("a.status", "s");

,但无法弄清楚如何在映射表上查询。我已经考虑过以相反的ID顺序获取Student的所有Events,然后用它来查询学生,但我不喜欢这种方法,必须有更好的方法。

,我可以理解,我可以向您建议:

$qb->select('Distinct a')
  ->from("DnDRaHApiBundle:Application", "a")
  ->leftJoin("a.status", "s")
  ->where('s.name = :name')//change name and put your real attribute
  ->orderBy('s.id','Desc')//the most recent have a the higher id
  ->setParameter('name','APPROVED');

最新更新