2013-01-11 27 views
11

我遇到了一個問題,在奏鳴曲管理編輯窗體中實現多對多關係,具有以下結構。索納塔管理編輯表格很多很多不工作 - 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) 

我看過很多主題,並嘗試過其中列出的解決方案。我曾嘗試

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

我收到以下錯誤

No entity manager defined for class Doctrine\ORM\PersistentCollection 

然後,當我無法找到一個方法來解決這個問題,我切換到

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

我有以下錯誤

INVALID MODE type : sonata_type_collection - mapping : 8 

我也是una瞭解如何獲取並顯示purchase_product表中的數量。

任何指針和幫助,高度讚賞。

回答

13

你可以嘗試添加「擴大」 =>真實,「多」 =>真

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

感謝丹尼爾,有沒有一種方法,我可以用它的細節一起加載與購買的最後一個相關的產品,而不是使用複選框加載所有產品 - 我還需要顯示purchase_product表(鏈接表)中的數量 - 有什麼方法嗎? – dagger