如果db-Symfony EntityType中没有数据,则定义默认选择

时间:2017-06-05 13:06:25

标签: php symfony symfony-forms

这是我用来在页面中显示的代码。

如果没有数据,我需要一些预定义默认选择的方法。 有什么建议吗?

->add('period', EntityType::class, [
            'required' => false,
            'empty_value' => false,
            'expanded' => true,
            'class' => 'MainBundle\Entity\NotificationsPeriod',
            'query_builder' => function (EntityRepository $er) {
                $qb = $er->createQueryBuilder('u');
                $qb->orderBy('u.id', 'ASC');
                $qb->add('where', $qb->expr()->notIn('u.id', 1));
                return $qb;
            },
            'empty_data' => 2,
        ])

1 个答案:

答案 0 :(得分:0)

你快到了!

您需要设置empty_data参数,因为您必须匹配HTML中的值。

例如:

//formClass.php
'empty_data' => 2,

然后..

//template.twig
<select name="whatever">
  <option value="2">Something</option>
  {# build your options from data.. #}
</select>

官方文档在这里:http://symfony.com/doc/current/reference/forms/types/choice.html#empty-data