我希望使用“prototype”查看20个相同的字段(名称:matchday)。 我有这样的代码:
形式:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('matchday', 'collection', array(
'allow_add' => true,
'type' => new MatchdayType(),
))
...
}
和View(Twig):
<form action="{{ path('meet_create') }}" method="post" {{ form_enctype(form) }}>
{% for i in 1..20 %}
{{ form_widget(form.matchday.vars.prototype) }}
{% endfor %}
<p>
<button type="submit">Create</button>
</p>
</form>
但我不知道如何使用“原型”在此代码中使用迭代。
感谢
答案 0 :(得分:0)
原型只是一个模型,可以用来在表单的集合中创建新字段,但它并不是真正的字段。如果要从头开始显示20个空字段,基本上有两个选择:
第一个解决方案会给出这样的结论:
$meet = new Meet();
for ($i=0; $i < 20; $i++) {
$matchday = new MatchDay();
$meet->getMatchdays->add($matchday);
}
$form = $this->createForm(new MeetType(), $meet);
对于第二个解决方案,您在Symfony Cookbook中有一个关于表单集合的好例子:http://symfony.com/doc/current/cookbook/form/form_collections.html