Форма Symfony - choiceType из атрибутов класса

У меня есть класс Options с множеством атрибутов, вложенный в класс B

class Options {    
    private $foo;
    private $bar;    
    // getter setters ..
}

class B {
    private $baz;
    private $options; // Option class
}

Есть ли способ сделать ChoiceType с флажками из атрибутов B.options?

$options = new Options();
$b = new B();
$b->setOptions($options);

$form = $this->createForm(MyType::class, $b, []);

// ...

$builder->add('options', ??,[
        // ??
    ];

Каковы лучшие практики для таких случаев.

2 ответа

Вы хотите встроить коллекцию форм. Symfony очень хорошо связывает сущности в формах. Проверьте ссылку на документацию.

Просто используйте ChoiceType, Если expanded а также multiple варианты установлены в true, флажки будут оказаны.

$builder->add('options', ChoiceType::class, [
    'expanded' => true,
    'multiple' => true,
]);

http://symfony.com/doc/current/reference/forms/types/choice.html

Другие вопросы по тегам