我在自定义存储库symfony 2类中有这些代码,我很难理解为什么$ results总是为空。
MyApplicationBundle:Archive是映射到DB
集合的实体类是一个连接表(ManyToMany)而不是实体
当前不是这个类的属性但是我需要它在结果中$ $ where_str是在上面构建的,我做错了什么?谢谢
$rsm = new ResultSetMapping();
$rsm->addEntityResult('MyApplicationBundle:Archive', 'a');
$rsm->addFieldResult('a', 'id', 'id');
$rsm->addFieldResult('a', 'author', 'author');
$rsm->addFieldResult('a', 'title', 'title');
$rsm->addFieldResult('a', 'present', 'present');
$sql = "select
a.id,
a.author,
a.title,
IF((select c.archive_id from collection c where c.archive_id = a.id and c.user_id = :user),1,0) as present
from
archive a
where
$where_str";
$em = $this->getEntityManager();
$query = $em->createNativeQuery($sql, $rsm);
$query->setParameters($arrParameters);
$results = $query->getResult();
return $results;
如果更好的话,非常乐意尝试使用DQL或DQB。
答案 0 :(得分:0)