主义歧视者没有歧视

时间:2012-08-21 18:44:37

标签: doctrine doctrine-orm

DQL代码:

$dql = "SELECT a, FIELD(a.id, ".$implodedIds.") as HIDDEN field " 
. "FROM \activity\models\Entities\Activity a "
. "WHERE a.id IN (".$implodedIds.") "
. "ORDER BY field ASC ";

$em = \Zend_Registry::get('em');

$doctrineConfig = $em->getConfiguration();
$doctrineConfig->addCustomStringFunction('FIELD', 'DoctrineExtensions\Query\Mysql\Field');

$query = $em->createQuery($dql);
$docResults = $query->getResult();

实体结构的一般要点:(单表继承)

Activity
Opinion extends Activity
Comment extends Activity
Counter extends Activity

这个dql代码正在返回Activity实体,但我希望它能自动区分它返回到Opinions,Comments和Counters的实体。 Doctrine在其他情况下没有任何问题,但出于某种原因不在此处。 (I.E.在我查询活动的其他情况下,它给了我一系列意见,评论和计数器)

有人可以告诉我为什么这次,它不会自动区分它们吗?

1 个答案:

答案 0 :(得分:0)

你问“活动”,他回到他们身边!根据你的架构选项是“活动”...如果你问你的选择,你更具体,而不是让其他孩子“活动”...所以要区分,使用“instanceOf”!