我有一个非常简单的查询:
$query = $this->em->createQuery('SELECT u FROM UserBundle:User u WHERE u.username = ?1');
$query->setParameter(1, $username);
现在我以数组的形式正常获取结果:
$data = $query->getArrayResult();
$user = $data[0];
有没有办法在不执行$data[0]步骤的情况下直接将一行作为数组?
感谢帮助:)
根据文档:
Query#getSingleResult():检索单个对象。如果结果包含超过 一个或没有对象,将引发异常。纯/混合区分不适用。
Query#getSingleScalarResult():从中检索单个标量值 DBMS 返回的结果。如果结果包含多个 单个标量值,将引发异常。纯/混合 区别不适用。
使用 getSingleResult() 而不是 getArrayResult()。它记录在教义文档的这一章中: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html#executing-a-query