如何在学说中做一个子查询并将结果水合成一个对象?

时间:2010-11-11 15:43:04

标签: doctrine subquery group-concat

我想在doctrine中做一个有点复杂的查询,即带有group_concat的子查询的内部联接。

在纯SQL中查看查询:

SELECT *
FROM kinderen k
INNER JOIN
(
  SELECT i.kindid, GROUP_CONCAT(DISTINCT a.periode) as periodes
  FROM inschrijvingen i
  INNER JOIN activiteiten a ON i.activiteitid=a.id
  GROUP BY i.kindid
) p
ON k.kindid=p.kindid;

1)我怎样才能在学说中这样做?换句话说,如何将这个常规sql翻译成dql?

2)我希望在生成的Kinderen对象中可以访问额外的属性(periodes)。我怀疑这是教条的默认行为吗?

当我阅读文档和谷歌时,我找不到解决方案。

感谢名单!

1 个答案:

答案 0 :(得分:0)

似乎这在Doctrine 2中可用作“获取连接”,但不确定它是否存在1.2。

http://www.doctrine-project.org/projects/orm/2.0/docs/reference/dql-doctrine-query-language/en