アプリケーションでDoctrineマルチテーブル継承をセットアップしました - 以下を参照してください
/**
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="type", type="string")
* @DiscriminatorMap({
* "news" = "News" ,
* "press_release" = "PressRelease"})
*
* @table(name="pages")
*/
class PressRelease extends Page {...}
class News extends Page {...}
カスタム リポジトリ クエリ
$query = $this->getEntityManager()->createQuery('SELECT u FROM MyStoreBundle:User u
LEFT JOIN u.page p
WHERE p INSTANCE OF :newsType'
)->setParameter('newsType', new News());
これでうまくいくと思いましたが、次のエラーが発生し続けます。
Notice: Undefined index: id in /path/to/Symfony/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php line 282
プロパティが定義されているクラスを拡張するときにこれが継承されるため、明らかに私のNews
エンティティにはフィールドがありません。誰かが間違っていることを知っていますか?id
Page
id
前もって感謝します