2011-11-27 13 views
5

Ho una semplice entità di dottrina che rappresenta una notizia; questa notizia può essere collegata a molte immagini, quindi ho deciso di utilizzare una raccolta di Doctrine. Il fatto è che voglio recuperare queste immagini e visualizzarle nel mio modello ... Ma non sembra funzionare. Sai come posso farlo?Mostra la collezione Doctrine con il ramoscello? (Symfony2)

Ecco cosa ho provato:

{% 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 è la classe notizia, e foto è la collezione:

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

private $photo; 

Quando provo a visualizzare questa pagina nel mio browser , Ottengo questa eccezione:

Un è stata generata un'eccezione durante il rendering di un modello ("Avviso: indice indefinito:> id in>/Applicazioni/MAMP/htdocs/ApacheImmobilier/vendor/doctrine/lib/Doctrine/ORM/Persisters/Basi> cEntityPersister.php riga 1274") in "APPagesBundle: Index: index.html.twig" alla riga 45.

Grazie!

risposta

7

Leggi this article of the doc. Dice:

L'attributo mappedBy designa il campo nel soggetto che è il proprietario del rapporto.

che, nel tuo caso, deve essere il campo news della tua entità Foto.

+1

Votato perché l'utente ha richiesto una soluzione nel file modello di ramoscello per lavorare con le raccolte. –

+5

Che cos'è il troll? La risposta è implicita perché è semplice: basta fare come nella domanda, ma senza l'errore spiegato nella risposta. – greg0ire

+1

Questo mi ha aiutato a trovare un bug con un messaggio di errore simile. Questa risposta è assolutamente pertinente e correlata alla domanda. – redreinard

Problemi correlati