[英]Symfony2 set selected in EntityType
我在用Symfony 2(2.8.9)生成的表單中的select(selected =“ selected”)中設置默認值時遇到問題。
我的控制器中有以下代碼:
$news = new News();
$news->setCategory(1);
//create form
$form = $this->createForm(NewsType::class, $news);
這在我的FormType中
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('category', EntityType::class,
array(
'placeholder' => 'Choise',
'class' => 'AppBundle:NewsCat',
'choice_label' => 'name'
));
}
AppBundle:NewsCat創建一個ID =>名稱(例如:1 =>'Sport',2 =>'Politic'等的列表),我希望當我setCategory(1)時應將其視為“ Sport”在我的選擇中=“ =”已選中“。
現在我看到過“選擇”。
我試圖在網絡上的任何地方進行搜索,希望您能為我提供幫助:)
謝謝大家
您需要使用數據選項來設置所選對象。 我的例子如下。
$defaultTech = $company->getDefaultTech();
if ($company->getForceDefaultTech() && $defaultTech != null) {
$builder->add('tech', HiddenType::class, ['data' => $defaultTech->getId()]);
} else {
$builder->add('tech', EntityType::class, [
'class' => 'HelpBundle\Entity\UserAccount',
'choice_label' => 'displayName',
'data' => $defaultTech,
'query_builder' => function (EntityRepository $er) use ($company) {
$qb = $er->createQueryBuilder('ua');
return $qb
->where('ua.company = :company')
->andWhere('ua.techie = 1')
->setParameter('company', $company);
},
]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.