2013-01-11 12 views
11

Sto riscontrando un problema con l'implementazione della relazione molti a molti nel modulo di modifica dell'amministratore di sonata, con la seguente struttura.Sonata Admin modifica da molti a molti non funzionante - symfony2.1.6

purchase (id, total_price, discount, created_at) 
purchase_product (purchase_id, product_id, quantity) 
product (id, title, desc, price, thumbnail, created_at) 

Ho visto molti thread e ho provato le soluzioni elencate in loro. Ho provato

->add('products', 'sonata_type_model', array('by_reference' => false)) 

ottengo il seguente errore

No entity manager defined for class Doctrine\ORM\PersistentCollection 

Poi, quando non riuscivo a trovare un modo per risolvere questo problema, sono passato a

->add('products', 'sonata_type_collection', array(), array('edit' => 'inline', 'inline' => 'table') 

ho ottenuto il seguente errore

INVALID MODE type : sonata_type_collection - mapping : 8 

Sono anche una per capire come ottenere e visualizzare la quantità dalla tabella purchase_product.

Qualsiasi suggerimento e aiuto è molto apprezzato.

risposta

13

Si può provare ad aggiungere 'espansa' => true e 'multiple' => true

->add('products', 'sonata_type_model', array('expanded' => true, 'by_reference' => false, 'multiple' => true)) 
+2

grazie Daniel, C'è un modo per caricare l'ultimo prodotto associato con l'acquisto insieme con i suoi dettagli, invece di caricare tutti i prodotti con checkboxes - devo anche mostrare la quantità che si trova nella tabella purchase_product (la tabella di collegamento) - c'è qualche modo? – dagger