Php 使用form builder symfony2创建数组输入字段

Php 使用form builder symfony2创建数组输入字段,php,symfony,formbuilder,Php,Symfony,Formbuilder,我在Symfony2中使用表单生成器时遇到问题。 确切地说,我需要的输入字段是html数组,但我不能用createFormBuilder->add创建它。 以下是我尝试过的: $attributesForm = $this->createFormBuilder() ->add('attribute[0]', 'text') ... 以此类推,但我得到以下例外: 名称“属性[0]”包含非法字符。名称应以字母、>数字或下划线开头,并且仅包含字母、数字、数字、下划线(“3

我在Symfony2中使用表单生成器时遇到问题。 确切地说,我需要的输入字段是html数组,但我不能用createFormBuilder->add创建它。 以下是我尝试过的:

$attributesForm = $this->createFormBuilder()
        ->add('attribute[0]', 'text') ...
以此类推,但我得到以下例外:

名称“属性[0]”包含非法字符。名称应以字母、>数字或下划线开头,并且仅包含字母、数字、数字、下划线(“389;”)、连字符>(“-”)和冒号(:”)

有没有什么好的解决方案,或者我必须手动创建字段

提前谢谢

编辑:为了进一步澄清这一点。。。 我希望生成类似这样的内容:

<div id="msoft_adminbundle_offertype">
<div>Name <input type="text" name="name"></div>
<div>...</div>
<div>Attribute 0 <input type="text" name="attribute[0]"></div>
<div>Attribute 1 <input type="text" name="attribute[1]"></div>
<div>Attribute 3 <input type="text" name="attribute[3]"></div>
<ul>
    </ul>
<p>
    <button type="submit">Edit</button>
</p>

名称
...
属性0
属性1
属性3
编辑


帮助?

您可以使用“集合”字段类型创建输入字段数组

有关如何使用它的文档可在此处找到:


如果这还不够清楚,或者您还有问题,我很乐意帮助您解决。

正如前面的回答所述,请使用集合类型或嵌套表单,其中每个字段对应于数组的一个条目。如果您不能/不想这样做,您可以执行以下操作:

->add('attribute_0', 'text', array(
    'property_path' => 'attribute[0]',
))

你们也可以在小枝上翻田。例如:

   {{ form_row(form[field_name],{ 'full_name':  'attribute[' ~ step ~ ']' })}} 

其中步骤是您的索引。

对不起,附加说明…:-/原来我需要更简单的东西。。。我有一个非常具体的属性列表,用户可以为每个报价设置这些属性,我只想将它们列为“属性[0]”、“属性[1]”等等。实际上,我还需要使用不同的数组索引,但这并不重要。总之,这更复杂,它允许我添加用户选项,在表单内部创建新表单,并带有一组字段。我只想得到属性数组,而不是名称“attribute_1”、“attribute_2”等等。我不清楚你现在到底想要什么。若你们能提供你们想要生成的表单的示例代码(html),我可能会进一步帮助你们我不认为你可以像那样跳过索引。但是剩下的就是
集合
类型所做的。谢谢,我开始使用集合。