【发布时间】:2015-02-11 07:13:12
【问题描述】:
Symfony2.6 中的以下查询使用 getArrayResult();但不适用于 getResult();或 getOneOrNullResult();。这意味着我无法获取对象,只能获取数组。
如果我使用这个查询,我得到的只是一个白色/空白页面(甚至不是 symfony 调试工具栏)。请注意,在我的树枝模板中,我只是对查询结果进行了 {{ dump() }}。
表格结构很简单(是用户阅读的书籍列表):
ID、用户、书籍、状态、投票、评论
(用户、书籍和状态是外键)
public function selectOneRecordBy2Ids($user_id, $book_id)
{
/* @var $qb QueryBuilder */
$qb = $this->createQueryBuilder('l');
$qb->select('l');
$qb = $qb->Where($qb->expr()->eq('l.user', ':first'));
$qb = $qb->andWhere($qb->expr()->eq('l.book', ':second'));
$qb = $qb->setParameters(array('first' => $user_id, 'second' => $book_id));
return $qb->getQuery()->getOneOrNullResult();
}
【问题讨论】:
-
空白页表示您有一些 PHP 错误,因此请先检查您的 error.log 文件。
-
你有没有尝试强制idration模式调用
return $qb->getQuery()->getOneOrNullResult(Query::HYDRATE_OBJECT); -
感谢您的帮助...请在第一个答案下阅读我的 cmets.. 似乎错误不在查询中,而是在使用 twig {{ dump(var) }} 的结果转储中。
标签: symfony