【发布时间】:2012-08-16 15:47:36
【问题描述】:
我将class table inheritance 用于我的 symfony2 项目数据库中的一些表。我的超类有一些带有外键的关系表。
现在我想编写一个从我的关系表开始并加入超类的查询。如果我想将记录过滤到子类中,我只需要这样写:
SELECT r, c
FROM
BasicBundle:RelationEntity r
JOIN r.superclassId c
WHERE
c INSTANCE OF BasicBundle:Subclass
我的问题是我还想设置一个带有子类属性的 WHERE 子句,如下所示:
WHERE
c INSTANCE OF BasicBundle:Subclass
AND
c.subclassAttribute LIKE %example%
这不起作用。我做了一些研究,发现this article 但每次我尝试在查询中使用“CAST”时都会出错。所以看起来 CAST 不可用。
有人知道如何在超类查询的 WHERE 语句中使用子类属性吗?
【问题讨论】:
标签: sql symfony doctrine-orm dql symfony-2.1