Symfony 表单 - 来自 class 个属性的 choiceType
Symfony form - choiceType from class attributes
我有一个 class 选项,有很多属性,嵌套在 B class
class Options {
private $foo;
private $bar;
// getter setters ..
}
class B {
private $baz;
private $options; // Option class
}
有没有办法用 B.options 属性的复选框创建 ChoiceType?
$options = new Options();
$b = new B();
$b->setOptions($options);
$form = $this->createForm(MyType::class, $b, []);
// ...
$builder->add('options', ??,[
// ??
];
这种情况下的最佳做法是什么。
您想embed a collection of forms。 Symfony links 表单中的实体非常好。检查 link 文档。
只需使用 ChoiceType
。如果 expanded
和 multiple
选项设置为 true
,将呈现复选框。
$builder->add('options', ChoiceType::class, [
'expanded' => true,
'multiple' => true,
]);
http://symfony.com/doc/current/reference/forms/types/choice.html#expanded
我有一个 class 选项,有很多属性,嵌套在 B class
class Options {
private $foo;
private $bar;
// getter setters ..
}
class B {
private $baz;
private $options; // Option class
}
有没有办法用 B.options 属性的复选框创建 ChoiceType?
$options = new Options();
$b = new B();
$b->setOptions($options);
$form = $this->createForm(MyType::class, $b, []);
// ...
$builder->add('options', ??,[
// ??
];
这种情况下的最佳做法是什么。
您想embed a collection of forms。 Symfony links 表单中的实体非常好。检查 link 文档。
只需使用 ChoiceType
。如果 expanded
和 multiple
选项设置为 true
,将呈现复选框。
$builder->add('options', ChoiceType::class, [
'expanded' => true,
'multiple' => true,
]);
http://symfony.com/doc/current/reference/forms/types/choice.html#expanded