@art_guzev

Как сделать несколько Join к одной таблице symfony, querybuilder?

Есть таблица команда:
id_команды | название_команды

Есть таблица матч:
номер_матча | id_домашней_команды | id_гостевой_команды
id команд в таблице "матч" равны id командам из таблицы "команда"

В symfony3 с помощью querybuilder делаю выборку
$match= $this->getDoctrine()->getEntityManager()
      ->createQueryBuilder()
       ->select ('p.idMatch, pp.name, dp.name')
      ->from('match', 'p')
      ->innerJoin('AppBundle:teams', 'pp', 'with', "p.hometeam = pp.teamId")
      ->innerJoin('AppBundle:teams', 'dp', 'with', "p.awayteam = dp.teamId")
      ->getQuery()
      ->getResult();

Но выводится одна команда. Как сделать чтобы выводилось две команды?

На обычном sql я понимаю как это сделать
SELECT
    g.*,
    t1.name AS home_team_name,
    t2.name AS guest_team_name
FROM
    game AS g
    INNER JOIN team AS t1 ON g.home_team_id = t1.id
    INNER JOIN team AS t2 ON g.guest_team_id = t2.id;
ORDER by game_date DESC

тут либо в select как-то писать AS, либо добавлять alias - не знаю как сделать ни то, ни другое
  • Вопрос задан
  • 783 просмотра
Пригласить эксперта
Ответы на вопрос 1
wyster
@wyster
Попробуйте
->select('p.idMatch')->addSelect('pp.name as home_team_name')->addSelect('dp.name as guest_team_id')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы