symfony3 ManytoMany присоединиться к запросу

Я получил 2 лица — Products а также Region, У них есть ManytoMany отношение и связаны с 3-м субъектом Product_region, Его код выглядит следующим образом:

<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
* Product_region
*
* @ORM\Table(name="product_region")
* @ORM\Entity
*/
class Product_region
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;

/**
* @var \AppBundle\Entity\Products
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Products")
* @ORM\JoinColumns({
*   @ORM\JoinColumn(name="product_id", referencedColumnName="row_id")
* })
*
*/
private $productid;

/**
* @var \AppBundle\Entity\Region
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Region")
* @ORM\JoinColumns({
*   @ORM\JoinColumn(name="region_id", referencedColumnName="id")
* })
*/
private $regionid;

}

Мне нужно скачать все products с его регионами в один массив, чтобы иметь что-то вроде:

[
[0]=>[
'name'=> 'product_1',
'regions=>[
[0]=>['id'=>'1', 'name'=>'region_1'],
[1]=>['id'=>'2', 'name'=>'region_2']...
]
],
[1]=> ...
]

Я пытаюсь сделать это с помощью следующего кода:

$qb = $em->createQueryBuilder();
$qb->select('p', 'pnr')
->from('AppBundle:Products', 'p')
->leftJoin('AppBundle:Product_region', 'pr', 'WITH', 'p = pr.productid')
->leftJoin('AppBundle:Region', 'pnr', 'WITH', 'pnr = pr.regionid');

$res = $qb->getQuery()->getResult();

но если я попытаюсь var_dump($res) зависает браузер и начинает передавать неограниченное количество данных. Любые идеи, как это исправить, приветствуются. Спасибо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector