我遵循此文档:http://symfony.com/doc/current/cookbook/form/form_collections.html。
所以,标签显示为textareas组,但是我需要显示标签作为HTML'select'元素,带有'multiple'属性,用于保存'Task'对象,包括稍后选择的'Tags'。
也许,symfony有一个'black magic'转换器,从'tags'实体到形成,反之亦然。我不知道。但是,也许,我发现这样做的方法不对。有人帮帮我。
答案 0 :(得分:1)
如果您按照教程操作,则只需更改buildForm
课程中的TagType
方法,以便name
字段变为choice
类型,而不是(猜测)textarea
。
替换:
$builder->add('name');
通过:
$builder->add('name', 'choice', array(
'choices' => array(
'valueA' => 'labelA',
'valueB' => 'labelB',
'valueC' => 'labelC',
'valueD' => 'labelD',
// ...
),
'multiple' => true,
);
如果您的选择列表是动态的,那么最好宣布您的form type as a service。
有关choice
字段类型的更多信息为documented here。