12

次の構造で、sonataadmin編集フォームに多対多の関係を実装する際に問題が発生しました。

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 

また、purchase_productテーブルから数量を取得して表示する方法もわかりません。

任意のポインタとヘルプは非常に高く評価されています。

4

1 に答える 1

14

'expanded' => true および 'multiple' => true を追加してみることができます

->add('products', 'sonata_type_model', array('expanded' => true, 'by_reference' => false, 'multiple' => true))
于 2013-01-11T21:19:43.433 に答える