我正在连接表,我想根据我的连接获得多维查询结果。
# AppBundle:ProductRepository
$this->createQueryBuilder('pr')
->select('pk.id', 'pk.name', 'pr.id', 'pr.label')
->join('pr.package', 'pk')
->getQuery()->getResult();
如您所见,Product
链接到 Package
(多对一)
这是我得到的结果:
array(
array('id' => '1', 'name' => 'package 1', 'id1' => 1, 'label' => 'product 1'),
array('id' => '1', 'name' => 'package 1', 'id1' => 2, 'label' => 'product 2'),
array('id' => '2', 'name' => 'package 2', 'id1' => 3, 'label' => 'product 3'),
)
这是我想要得到的:
array(
array(
'id' => '1',
'name' => 'package 1',
'products' => array(
array(
'id' => 1,
'label' => 'product 1',
),
array(
'id' => 2,
'label' => 'product 2',
),
),
),
array(
'id' => '2',
'name' => 'package 2',
'products' => array(
array(
'id' => 3,
'label' => 'product 3',
),
),
),
)
有没有办法将这种多维数组与 Doctrine 2 结合起来?
我的意思是 Doctrine 2,而不是“post prod”php 循环
最佳答案
您需要 partial results 的组合用 array hydrator .尝试:
$this->createQueryBuilder('pr')
->select('partial pk.{id, name}, partial pr.{id, label}')
->join('pr.package', 'pk')
->getQuery()
->getArrayResult()
;
关于php - 具有联接的多维数组结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37294157/