簡體   English   中英

在EntityType中選擇的Symfony2集

[英]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”在我的選擇中=“ =”已選中“。

現在我看到過“選擇”。

我試圖在網絡上的任何地方進行搜索,希望您能為我提供幫助:)

謝謝大家

HTML代碼屏幕

您需要使用數據選項來設置所選對象。 我的例子如下。

$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM