我有一个非常简单的查询:
$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]步骤的情况下直接将一行作为数组?
THX求助:)
答案 0 :(得分:0)
Query#getSingleResult():检索单个对象。如果结果包含多个 一个或没有对象,抛出异常。纯/混合的区别不适用。
Query#getSingleScalarResult():从中检索单个标量值 dbms返回的结果。如果结果包含多个 单标量值,抛出异常。纯/混合 区别不适用。
答案 1 :(得分:0)
您可以使用getSingleResult()而不是getArrayResult()。它在学说文档的这一章中有记载:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html#executing-a-query