DQL代码:
$dql = "SELECT a, FIELD(a.id, ".$implodedIds.") as HIDDEN field "
. "FROM activitymodelsEntitiesActivity a "
. "WHERE a.id IN (".$implodedIds.") "
. "ORDER BY field ASC ";
$em = Zend_Registry::get('em');
$doctrineConfig = $em->getConfiguration();
$doctrineConfig->addCustomStringFunction('FIELD', 'DoctrineExtensionsQueryMysqlField');
$query = $em->createQuery($dql);
$docResults = $query->getResult();
实体结构的一般Gist:(单表继承)
Activity
Opinion extends Activity
Comment extends Activity
Counter extends Activity
这个dql代码返回的是"活动"实体,但我希望它能自动将返回的实体区分为"意见"、"注释"one_answers"计数器"。学说在其他情况下做到这一点没有任何问题,但出于某种原因,这里没有。(例如,在其他情况下,我询问活动,它会给我一系列意见、评论和计数器)
有人能告诉我为什么这一次,它没有自动识别他们吗?
你问"活动",他就回来了!根据你的模式选项是"活动"。。。如果你问你的选择,你会更具体,而不是让其他孩子参与"活动"。。。因此,要区分,请使用"instanceOf"!