【问题标题】:Symfony 2.6 checked by default checkboxesSymfony 2.6 默认选中复选框
【发布时间】:2015-01-13 15:52:30
【问题描述】:

如何根据数据库中的数据默认选中复选框?
现在我的表单看起来像:

      ...
      ->add(
        "role", "entity", [
          "class"    => "AppDefaultBundle:OptionRole",
          "required" => false,
          "label"    => "Roles for user: ",
          "property" => "name",
          "expanded" => true,
          "multiple" => true
        ]
      )
      ...

我想根据其他表中的数据为该复选框选择默认值。

【问题讨论】:

标签: symfony checkbox symfony-forms symfony-2.6


【解决方案1】:

您可能应该添加选择属性:http://symfony.com/doc/current/reference/forms/types/choice.html#choices

在您的情况下,您应该有一个数组,其中包含与您正在处理的 (User ?) 实体(您为其创建表单的实体)相关的所有 OptionRoles。

假设原则用户模型知道它是 OptionRoles(很可能是多对多关联),表单应该自动检查用户 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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 2018-12-31
    • 2017-03-27
    • 2015-10-05
    • 1970-01-01
    • 2018-11-30
    相关资源
    最近更新 更多