Показать коллекцию Doctrine с веточкой?(Symfony2) - PullRequest
5 голосов
/ 27 ноября 2011

У меня довольно простая доктрина, представляющая собой новость;эта новость может быть связана со многими фотографиями, поэтому я решил использовать коллекцию Doctrine.Дело в том, что я хочу получить эти картинки и отобразить их в моем шаблоне ... Но, похоже, это не сработало.Вы знаете, как я могу это сделать?

Вот что я попробовал:

{% for annonce in annonces %}
    <div class="annonce_item">
    {% for photo in annonce.photo  %}
        <img src="{{ photo.path }}" alt="" />
    {% endfor %}
</div>
<!-- End .annonce_item -->
{% endfor %}

annonce - это класс новостей, а фотография это коллекция:

/**
 * @ORM\OneToMany(targetEntity="Photo", mappedBy="id",cascade={"persist"})
 */

private $photo;

Когда я пытаюсь отобразить эту страницу в своем браузере, я получаю следующее исключение:

Возникло исключение во время рендеринга шаблона («Примечание: неопределенный индекс:> id в> / Applications / MAMP / htdocs / ApacheImmobilier / vendor / doctrine / lib / Doctrine / ORM / Persisters / Basi> cEntityPersister.php строка 1274») в «APPagesBundle: Index: index.html.веточка "в строке 45.

Спасибо!

1 Ответ

7 голосов
/ 27 ноября 2011

Читайте эту статью документа . Там написано:

Атрибут mappedBy обозначает поле в объекте, который является владелец отношений.

, которое в вашем случае должно быть полем news вашей сущности Фото.

...