Doctrine / Inheritance无法检查X的子节点是否为Y的实例

时间:2015-02-20 15:16:58

标签: symfony orm doctrine-orm

我无法从数据库中获取特定类型的对象。我的层次结构中有几个实体,如下所示:

我有一个名为Action的抽象类@ORM\MappedSuperclass

然后我有其他类扩展ActionUserAction, PictureAction, VideoAction,所有这些都使用相同的ORM标记MappedSuperclass。

最后,我有真正的实体类:UserLikeAction, PictureCommentAction, VideoCreateAction,它们分别扩展了UserAction, PictureAction, VideoAction

在我的控制器中,我希望通过使用DQL查询来获取由这些Action子类表示的用户活动:

SELECT a FROM AppBundle:Action a WHERE a.user = :logged_user AND a INSTANCE OF AppBundle:UserLikeAction

Symfony2返回此异常消息: Cannot check if a child of '...\Action' is instanceof '...\UserLikeAction', inheritance hierarchy exists between these two classes.

对于用例,我想显示所有喜欢的时间表。

我该如何解决这个问题?

感谢阅读和帮助!

0 个答案:

没有答案