Mat*_*att 1 multiple-inheritance dql doctrine-orm
我在我的应用程序上设置了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 {...}
Run Code Online (Sandbox Code Playgroud)
我的自定义存储库查询
$query = $this->getEntityManager()->createQuery('SELECT u FROM MyStoreBundle:User u
LEFT JOIN u.page p
WHERE p INSTANCE OF :newsType'
)->setParameter('newsType', new News());
Run Code Online (Sandbox Code Playgroud)
我认为这会工作,但我不断收到以下错误:
Notice: Undefined index: id in /path/to/Symfony/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php line 282
Run Code Online (Sandbox Code Playgroud)
显然我的News实体没有一个id字段,因为这是在扩展Page具有id定义属性的类时继承的,有谁知道我做错了什么?
提前致谢
INSTANCE OF需要实体类名称,而不是实例:
->setParameter('newsType', 'YourProject\News');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2410 次 |
| 最近记录: |