我試圖用集合創建表單時遇到問題。我向你解釋我目前的情況。Symfony2 - DocumentChoiceList和MongoDB
我創建了兩個基本對象:產品和類別。我也爲它們創建了兩種類型:ProductType,CategoryType。
我有3個類別和1個產品,我已經將第一個幾類與產品關聯。所以,該產品有兩個關聯的類別。
我想創建產品的窗體。在這種形式下,我只想在html選擇控件中僅顯示產品的類別,以便用戶可以使用這些數據進行未來操作。
我總結了你的要點。
我產品類有
class Product { ... @EmbedMany(targetDocument="Acme\StoreBundle\Document\Category") protected $categories; ... }
在我ProductType我:
public function buildForm(FormBuilder $builder, array $options) { $builder->add('id') ->add('name') ->add('price') ->add('categories', 'document', array( 'class' => 'Acme\StoreBundle\Document\Category', 'choices' => $builder->getData()->getCategories()->toArray(), 'multiple' => 'true', 'property' => 'name' )) ;
}
我已經試過一切,最準確的半解是創造類別ProductType的屬性作爲文件並選擇通過綁定數據來自控制器的選項。
的一點是,在該溶液中的IDS,選項控制的,都是在的UnitOfWork類,而不是IDS原始類別對象的的spl_object_hash集。
我以前tryings:
我沒有問題,當我使用的文檔,而以前的選擇,但我想只有產品擁有的類別。
我沒有問題,當我使用收集顯示類別列表(關聯的CategoryType),但我不知道如何表達這是一個選擇控制。
我不能使用query_builder在Category類因爲只有對象有產品ID X我無法查詢,因爲類別對象沒有任何產品參考(和那就對了)。
有沒有人有解決這個問題或其他想法來解決這個問題?
非常感謝, 裏奇。
對不起,我後來的答案。謝謝你的解釋。 – user957066 2012-02-08 08:31:13