フォームフィールドタイプにエンティティを使用し、このようなドロップダウンボックスのオプションのリストを取得すると、魅力のように機能します。
$builder->add('parent', 'entity', array(
'label' => 'Välj en fastighet för skärmen ',
'class' => 'BizTVContainerManagementBundle:Container','property'=>'name',
'query_builder' => function(EntityRepository $er) use ($parentType, $company) {
return $er->createQueryBuilder('u')
->where('u.containerType = :type', 'u.company = :company')
->setParameters( array('type' => $parentType, 'company' => $company) )
->orderBy('u.name', 'ASC');
},
));
さて、表示名をカスタマイズして、単なるコードではなく、一緒にコーディングする方法を教えてください。
'property'=>'name
私が最終的にやりたいのは、現在表示されている文字列を別の文字列と組み合わせることです。私は実際に、このエンティティの親の名前もそこに入れたいと思っています。たとえば、次のようになります。
option_name = $entity->getName() . ' (' . $entity->getParent()->getName() . ')' .
自分でフォーム、フラットphp htmlを作成しておけば簡単なことですが、何百時間もやりたくないので、最近はsymfony2を使用するのが好きです=)
任意の入力を歓迎します...