带有类名的Doctrine 2 DQL查询?

时间:2012-02-13 10:37:49

标签: orm doctrine-orm dql

是否可以在DQL中将类名指定为WHERE或GROUP BY子句?

当拥有用户层次结构时,这将非常有用,例如:

SELECT a FROM Article a
JOIN a.owner o
WHERE o.class = ?
SELECT u.class, COUNT(*)
FROM User u
GROUP BY u.class

1 个答案:

答案 0 :(得分:3)

DQL中存在“INSTANCE OF”语法:

你的第一个例子:

SELECT a FROM Article a
JOIN a.owner o
WHERE o INSTANCE OF 'Editor'

我不确定你是否会在第二种情况下做你想做的事。