相同的實體創建一個簡單的表格多行:多行中的Symfony2
控制器:
public function indexAction()
{
$repository = $this->getDoctrine()->getRepository('MyBundle:Product');
$products = $repository->findAll();
foreach ($products as $product) {
$forms[] = $this->createForm(new ProductType, $product)->createView();
}
return $this->render('MBundle:Default:index.html.twig', array('form' => $forms);
}
我在樹枝呈現此:
<form action="{{ path('_submit') }}" method="post">
{% for key, formData in forms %}
{{ form_row(formData.id) }}
{{ form_row(formData.name) }}
{{ form_row(formData.nameEnglish) }}
<br clear="all" />
{% endfor %}
</form>
當我提交表單我的每個輸入字段集具有相同的名稱屬性,我只得到最後一個。如何抓住所有行並在submitAction()控制器中驗證它們?每個輸入都需要具有唯一的名稱,對嗎? ...也許我需要設置某種名稱=「東西[名稱] []」,但如何做到這一點?
查看收藏字段組:http://symfony.com/doc/current/reference/forms/types/collection.html和http://symfony.com/doc/current/cookbook/form/ form_collections.html。您最終會將$產品傳遞給您的表單。 – Cerad
你能舉個例子嗎?我不明白如何在這種情況下集合將工作 –
使自己ProductsType形式和嵌入ProductType作爲集合。 – Cerad