$query = $this->createQueryBuilder('C')
->select('C.id, C.name, P.id, P.name')
->leftJoin('C.Product', 'P')
->getQuery()
->getResult();
以上查询返回HYDRATE_ARRAY,我想要HYDRATE_OBJECT。
答案 0 :(得分:1)
$query = $this->createQueryBuilder('C')
->select('partial C.{id, name}, partial P.{id, name}')
->leftJoin('C.Product', 'P')
->getQuery()
->getResult();
你可以得到结果
foreach($query as $q) {
echo $q->getId().' -- '.$q->getProduct()->getId();
}
答案 1 :(得分:0)
如果你想使用任何mysql函数,比如group_concat和get ids
$query = $this->createQueryBuilder('C')
->select('C, GROUP_CONCAT(C.id) AS ids, partial P.{id, name}')
->leftJoin('C.Product', 'P')
->getQuery()
->getResult();
foreach($query as $q) {
echo $q[0]->getId().' -- '.$q[0]->getProduct()->getId().' -- '.$q['ids'];
}
在这里,您可以获得类别表的所有字段,类别表的组ID和提交的产品表
由于
Ashok Chitroda
答案 2 :(得分:0)
你可以做到。
/**
* return all devices enabled to array
*
* @return array
*/
private function getAllDevicesToArray()
{
// return to array not object
return $this->getDoctrine()
->getRepository('AdminBundle:Device')
->createQueryBuilder('d')
->where('d.enabled = :enabled')
->setParameter('enabled', 1)
->getQuery()
->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);
}