Symfony 2.6 默认选中复选框
Symfony 2.6 checked by default checkboxes
如何根据数据库中的数据使复选框默认选中?
现在我的表格看起来像:
...
->add(
"role", "entity", [
"class" => "AppDefaultBundle:OptionRole",
"required" => false,
"label" => "Roles for user: ",
"property" => "name",
"expanded" => true,
"multiple" => true
]
)
...
而且我想 select 根据来自其他 table 的数据为该复选框设置默认值。
您应该添加选项 属性:http://symfony.com/doc/current/reference/forms/types/choice.html#choices
在您的情况下,您应该有一个数组,其中包含与您正在处理的(用户?)实体(您为其创建表单的实体)相关的所有 OptionRoles。
假设用户模型知道它是 OptionRoles(很可能是 ManyToMany 关联),表单应该自动选中 Users OptionRoles 的复选框。
这是一个例子:
[
'label' => 'Select Modules',
'class' => 'Foo\BarBundle\Entity\Module',
'choices' => $this->availableModules(),
'property' => 'name',
'multiple' => true,
'expanded' => true
]
...
public function availableModules()
{
return $this->get('doctrine')
->getManager()
->getRepository('Foo\BarBundle\Entity\Module')
->findAll();
}
如何根据数据库中的数据使复选框默认选中?
现在我的表格看起来像:
...
->add(
"role", "entity", [
"class" => "AppDefaultBundle:OptionRole",
"required" => false,
"label" => "Roles for user: ",
"property" => "name",
"expanded" => true,
"multiple" => true
]
)
...
而且我想 select 根据来自其他 table 的数据为该复选框设置默认值。
您应该添加选项 属性:http://symfony.com/doc/current/reference/forms/types/choice.html#choices
在您的情况下,您应该有一个数组,其中包含与您正在处理的(用户?)实体(您为其创建表单的实体)相关的所有 OptionRoles。
假设用户模型知道它是 OptionRoles(很可能是 ManyToMany 关联),表单应该自动选中 Users OptionRoles 的复选框。
这是一个例子:
[
'label' => 'Select Modules',
'class' => 'Foo\BarBundle\Entity\Module',
'choices' => $this->availableModules(),
'property' => 'name',
'multiple' => true,
'expanded' => true
]
...
public function availableModules()
{
return $this->get('doctrine')
->getManager()
->getRepository('Foo\BarBundle\Entity\Module')
->findAll();
}