如何使用 Symfony QueryBuilder 仅检索实体 ID?
How to retrieve only entity id using Symfony QueryBuilder?
我正在尝试个性化 symfony 2.4
存储库查询以仅检索某些字段。平面字段一切正常,但在检索实体字段时,我只获取 id(默认情况下)但不是整个实体数据。我的查询:
$select = $this->createQueryBuilder('ca')
->select('ca.id, ca.name')
->leftJoin('ca.users', 'user')
->addSelect('(user) as users');
$select->setMaxResults($count);
return $select->getQuery()->getResult();
结果是:[{id: 1, name: "Some name", users: 1}, ...]
如何更改此用户查询以包含整个用户数据,如 ID、姓名、地址等?
改变这个:
->select('ca.id, ca.name')
对此:
->select('ca')
这对我有用:
$select = $this->createQueryBuilder('ca')
->select('partial ca.{id, name}, users')
->leftJoin('ca.users', 'users');
$select->setMaxResults($count);
return $select->getQuery()->getArrayResult();
你应该试试这个方法。您可以使用部分。
$select = $this->createQueryBuilder('ca')
->select('partial ca.{id, name}')
->leftJoin('ca.users', 'users')
->addSelect('users');
此处提供了此问题的详细说明。
我希望这对你有用。
$qb = $this->em->createQueryBuilder();
$qb->select('o.id as order_id,o.createdBy as created_by,o.user as user_id');
// for getting selective fields
//$qb->select('o');
//for getting all fields in certain table
$qb->from('Entity\Orders', 'o');
$qb->setMaxResults(1);
// for getting single record only.
return $qb->getQuery()->getOneOrNullResult();
// for getting single record or null record.
//return $qb->getQuery()->getResult();
// for getting multiple records.
如有任何疑问,请随时提出。
我正在尝试个性化 symfony 2.4
存储库查询以仅检索某些字段。平面字段一切正常,但在检索实体字段时,我只获取 id(默认情况下)但不是整个实体数据。我的查询:
$select = $this->createQueryBuilder('ca')
->select('ca.id, ca.name')
->leftJoin('ca.users', 'user')
->addSelect('(user) as users');
$select->setMaxResults($count);
return $select->getQuery()->getResult();
结果是:[{id: 1, name: "Some name", users: 1}, ...]
如何更改此用户查询以包含整个用户数据,如 ID、姓名、地址等?
改变这个:
->select('ca.id, ca.name')
对此:
->select('ca')
这对我有用:
$select = $this->createQueryBuilder('ca')
->select('partial ca.{id, name}, users')
->leftJoin('ca.users', 'users');
$select->setMaxResults($count);
return $select->getQuery()->getArrayResult();
你应该试试这个方法。您可以使用部分。
$select = $this->createQueryBuilder('ca')
->select('partial ca.{id, name}')
->leftJoin('ca.users', 'users')
->addSelect('users');
此处提供了此问题的详细说明。
我希望这对你有用。
$qb = $this->em->createQueryBuilder();
$qb->select('o.id as order_id,o.createdBy as created_by,o.user as user_id');
// for getting selective fields
//$qb->select('o');
//for getting all fields in certain table
$qb->from('Entity\Orders', 'o');
$qb->setMaxResults(1);
// for getting single record only.
return $qb->getQuery()->getOneOrNullResult();
// for getting single record or null record.
//return $qb->getQuery()->getResult();
// for getting multiple records.
如有任何疑问,请随时提出。