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」を使用しようとするたびにエラーが発生します。そのため、CAST は使用できないようです。
スーパークラスクエリの WHERE ステートメントでサブクラス属性を使用する方法を知っている人はいますか?