2012-06-10 75 views
0

任何人都有任何想法如何以一個很好和乾淨的方式添加一些自定義選項到實體字段類型?例如表單實體類型

->add('groups', 'entity', array(
       'class' => 'MyBundle:Groups', 
       'multiple' => 'true', 
       'query_builder' => function(GroupsRepository $er) { 
          return $er->createQueryBuilder('g') 
           ->orderBy('g.name', 'ASC'); 
         })) 

假設查詢生成器返回「Group1」,「Group2」和「Group3」。我想要的是「注入」另一個名爲「Any Group」的選項。

感謝,Stelian

回答

1

EntityTypeChoiceType的孩子。因此,您可以訪問same options

->add('groups', 'entity', array(
    'class' => 'MyBundle:Groups', 
    'multiple' => 'true', 
    'query_builder' => function(GroupsRepository $er) { 
     return $er->createQueryBuilder('g')->orderBy('g.name', 'ASC'); 
    }, 
    'empty_value' => 'Any group', 
)) 
+0

這涵蓋了您只需要一個額外選項的情況。我想知道是否有一個乾淨的方式合併實體選項與arraycollection或沿着這些線的東西。 – Stelian

+0

您可以添加由EntityType及其父母定義的所有選項。但是如果你需要更多的選擇來滿足你的特定需求,你必須定義你自己的類型。 –

+0

這一個我沒有看到來,但:_選項「default_value」不存在_所以它似乎不能很好地與多個:true – Stelian