Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 超类的WHERE语句中的Subclass属性_Sql_Symfony_Doctrine Orm_Dql_Symfony 2.1 - Fatal编程技术网

Sql 超类的WHERE语句中的Subclass属性

Sql 超类的WHERE语句中的Subclass属性,sql,symfony,doctrine-orm,dql,symfony-2.1,Sql,Symfony,Doctrine Orm,Dql,Symfony 2.1,我在symfony2项目数据库中的一些表中使用。我有一些超类外键的关系表 现在,我想编写一个从关系表开始并加入超类的查询。如果我想将记录过滤到子类,我只需要写以下内容: SELECT r, c FROM BasicBundle:RelationEntity r JOIN r.superclassId c WHERE c INSTANCE OF BasicBundle:Subclass 我的问题是,我还想设置一个WHERE子句,其属性为子类,如下所示: WHERE c INSTANCE OF B

我在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%
这不管用。我做了一些研究并发现,但每次我试图在查询中使用“CAST”时,都会出现错误。因此,似乎该演员阵容不可用


有人知道如何在超类查询的WHERE语句中使用子类属性吗?

为什么不尝试使用子查询

例如:


也许我在实例上做错了什么,但老实说,你没有提供一个非常详细的例子。

你刚刚救了我一命!谢谢。
WHERE
c INSTANCE OF BasicBundle:Subclass
AND EXISTS 
  (SELECT x FROM BasicBundle:Subclass s 
   WHERE s.id = c.id AND s.subclassAttribute LIKE %example%)