2013-01-11 8 views
11

Mam problem z implementacją wielu do wielu relacji w formularzu edytora administracyjnego sonaty, z następującą strukturą.Formularz edycji edytora Sonata wiele do wielu nie działa - 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) 

Widziałem wiele wątków i próbowałem rozwiązań wymienionych w nich. Próbowałem

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

otrzymuję następujący błąd

No entity manager defined for class Doctrine\ORM\PersistentCollection 

Wtedy, kiedy nie mógł znaleźć sposób na rozwiązanie tego przeszedłem do

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

mam następujący błąd

INVALID MODE type : sonata_type_collection - mapping : 8 

Jestem również osobą niewłasną aby dowiedzieć się, jak zdobyć i wyświetlić ilość z tabeli purchase_product.

Wszelkie wskazówki i pomoc są bardzo cenne.

Odpowiedz

13

Można spróbować dodać „rozszerzony” => true i „wielokrotny” => true

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

dzięki Daniel, Czy istnieje sposób mogę załadować ostatni powiązany produkt przy zakupie wraz z jego szczegółami, zamiast ładować wszystkie produkty za pomocą pól wyboru - muszę również pokazać ilość, która znajduje się w tabeli purchase_product (tabela łączenia) - czy istnieje jakiś sposób? – dagger