У меня возникла проблема с доступом к значениям из объединенного запроса. Я построил запрос в репозитории, который объединяет/оставляет таблицы объединений.Доступ к значениям из объединенного запроса из Doctrine with Twig
Чтобы сделать следующий код несколько понятным: у меня назначена встреча. Это назначение является частью события, а событие является частью группы событий. В группе событий есть участники. В реальной жизни это означает, что каждый участник мероприятия также является участником встречи. Например, есть учебный центр. Этот центр имеет различные учебные курсы (бег, подъем ...). Каждый курс имеет разные события для разных групп (например, группа А всегда в понедельник и пятницу, а группа В - всегда вторник и четверг). Таким образом, вы можете принять участие в работе в группе A. И Назначения - правильная дата и время для каждой группы.
Теперь я хочу всех назначений от одного человека. Так что мой запрос выглядит следующим образом:
$qb = $this->createQueryBuilder('a')
->leftJoin('a.event', 'event')
->leftJoin('event.eventgroup', 'eventgroup')
->innerJoin('event.participants', 'p', 'WITH', 'p.id = :id')
->setParameter('id', $user->getId())
;
return $qb->getQuery()->getResult();
Если я смотрю в доктрине, я также получить правильные результаты, при запуске обработанного запроса в MySQL. Но если я хочу получить доступ к значению из таблицы в моем файле twig, это не сработает.
{% for appointment in appointments|default(false) %}
<li class="list-group-item">
<a href="livemode.html">
<span class="col-md-4">{{ appointment.getEventGroup() }} <span class="tag tag-default">{{ appointment.getName() }}</span></span>
<span class="col-md-4">{{ appointment.getTopicBlock().getName() }}</span>
<span>{{ appointment.getDate()|date("d.m.Y") }} 09:30 Uhr</span>
</a>
</li>
{% endfor %}
Сущности и методы верны. Другие запросы работают нормально. Но с этим я получаю ошибку Symfony, что метод неправильный. Если я не использую значения и цикл, я получаю 4 раза элементы html. Это также правильное количество результатов. Может быть, проблема с внутренним соединением? Потому что с этим я не просто связываю идентификаторы с другими объектами в db, но присоединяю их несколько раз к событию? Могу ли я получить доступ к значениям по-другому?
Слишком поздно добавить еще один ответ? Isouza может работать, но я вижу, что вы делаете неправильно ... –