如果数据库中没有数据,则定义默认选择 - Symfony EntityType
Define default selection if no data in db - Symfony EntityType
这是我用来在页面中显示文件的代码。
如果没有数据,我需要一些方法来预定义默认选择。
有什么建议吗?
->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,
])
你就快完成了!
您需要设置 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
这是我用来在页面中显示文件的代码。
如果没有数据,我需要一些方法来预定义默认选择。 有什么建议吗?
->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,
])
你就快完成了!
您需要设置 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