2011-11-27 45 views
5

Tengo una entidad de doctrina bastante simple que representa una noticia; esta noticia se puede vincular con muchas imágenes, así que decidí usar una Colección Doctrine. El caso es que quiero recuperar estas imágenes y mostrarlas en mi plantilla ... Pero no pareció funcionar. ¿Sabes cómo puedo hacer eso?Mostrar Doctrine Collection with twig? (Symfony2)

Aquí es lo que he intentado:

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

Indicar es la clase de noticias, y foto es la colección:

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

private $photo; 

Cuando trato de mostrar esta página en el navegador , Obtengo esta excepción:

An se ha lanzado una excepción durante la representación de una plantilla ("Aviso: Índice no definido:> id en>/Aplicaciones/MAMP/htdocs/ApacheImmobilier/vendedor/doctrina/lib/Doctrine/ORM/Persisters/Basi> cEntityPersister.php línea 1274") en "APPagesBundle: Index: index.html.twig" en la línea 45.

¡Gracias!

Respuesta

7

Lee this article of the doc. Dice:

El atributo mappedBy designa el campo en la entidad que es el propietario de la relación.

que, en su caso, debe ser el campo news de su entidad de Foto.

+1

Votado porque el usuario pidió una solución en el archivo de plantilla twig para trabajar con colecciones. –

+5

¿Qué es el troll? La respuesta es implícita porque es simple: simplemente haz clic en Me gusta en la pregunta, pero sin el error explicado en la respuesta. – greg0ire

+1

Esto me ayudó a encontrar un error con un mensaje de error similar. Esta respuesta es absolutamente acertada y relacionada con la pregunta. – redreinard

Cuestiones relacionadas