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.在我查询活动的其他情况下,它给了我一系列意见,评论和计数器)
有人可以告诉我为什么这次,它不会自动区分它们吗?
答案 0 :(得分:0)
你问“活动”,他回到他们身边!根据你的架构选项是“活动”...如果你问你的选择,你更具体,而不是让其他孩子“活动”...所以要区分,使用“instanceOf”!