(я не уверен, как сделать название более понятным - не стесняйтесь редактировать его)
У меня есть две таблицы с винами и винодельнями .Каждое вино имеет одну винодельню.
Если я хочу составить список всех вин с соответствующей винодельней, я могу сделать это:
$entities = $em->getRepository('MyBundle:Wine')->findAll();
и
{% for entity in entities %}
{{ entity.winery.name }} {{ entity.name }} <br />
{% endfor %}
Проблема с этим решением заключается в том, что для каждой винодельни делается дополнительный запрос, который я хочу предотвратить.
Я попробовал метод, использованный в руководстве symfony2 , но мне не удалось заставить его работать (работает ли он только для одного результата?).
Обычно сSQL, я бы просто сделал LEFT JOIN
, но я просто не могу понять, как это сделать в Doctrine2.
$qb = $this->createQueryBuilder('w', 'wnr');
$qb->leftJoin('w.winery', 'wnr');
$qb->orderBy('w.name', 'ASC');
$qb->getQuery()->getResult();
???
Я был бы благодарен за любыепомощь!