У меня есть запрос, настроенный в доктрине, что я уверен, делает то, что он должен ... он объединяет несколько таблиц, поэтому мы можем пропустить кучу дополнительных запросов для получения данных через внешние ключи:Потерянные определения столбцов с объединениями, в twig
$posts = $this->getDoctrine()->getManager()
->createQuery('
SELECT a AS article, COUNT(c) AS comments
FROM ArticleBundle:Article a
LEFT JOIN CommentsBundle:Comment c WITH (c.article = a.id)
LEFT JOIN ImageBundle:Image i WITH (i.id = a.image)
GROUP BY a.id
ORDER BY a.timestamp DESC
')
->getResult();
Я могу получить доступ к данным довольно успешно, например, так:
{% for post in posts %}
<div id="news-story">
<div class="title">{{ post.article.title }}</div>
<div class="comments">{{ post.comments }}</div>
...
{% endfor %}
Этот вопрос, как только я добавить второй столбец («я как изображение») в список полей, он терпит неудачу. Я получаю следующее сообщение ...
Пункт «статьи» для «массива» не существует в ...
... и я не могу вполне понять, почему. Я надеюсь, что я смогу получить доступ к таким переменным, как {{post.article.title}} и {{post.image.path}} (который существует, кстати) ... но я не могу.
Любые мысли были бы весьма благодарны.
Спасибо!
Я еще новичок в Symfony2, но я могу вам сказать, что, может быть, если и сбросить пост вы поймете вопрос, положить {{свалка (запись)}} Http: //twig.sensiolabs .org/doc/functions/dump.html –
У вас есть отношения между объектом изображения и объектом объекта? –
Да! Объект статьи имеет отношение OneToOne в столбце с именем «образ» к объекту изображения. – mchitten