Symfony2如何为多个相同的实体创建一个表单


Symfony2 How to create one form for many the same entities?

我有以下实体:

// ZaquPL/MyBundle/Entity/Task.php
protected $name;
protected $order;
public function getName()         {...}
public function setName($name)    {...}
public function getOrder()        {...}
public function setOrder($order)  {...}

我想要一个包含多个实体的表格。这是因为我想对任务进行"拖放"排序,并在一个表单中更改它们的名称,只需一个提交按钮,而不需要AJAX。

在该模式中应该是这样的:

[GRAB AND MOVE <INPUT name="order[1]">] <INPUT name="name[1]">
[GRAB AND MOVE <INPUT name="order[2]">] <INPUT name="name[2]">
[GRAB AND MOVE <INPUT name="order[3]">] <INPUT name="name[3]">
[GRAB AND MOVE <INPUT name="order[4]">] <INPUT name="name[4]">
[GRAB AND MOVE <INPUT name="order[5]">] <INPUT name="name[5]">
[GRAB AND MOVE <INPUT name="order[6]">] <INPUT name="name[6]">

我知道如何创建视图,如何使用jqueryUI拖放组件等,所以不用担心。我只询问如何使用Symfony FormBuilder创建此表单。你知道吗?

我认为您想要创建一个表单集合:doc。在第一次持久化时,顺序由您的请求头顺序定义。但如果你编辑了这个集合,你就不能只提交另一个订单并坚持下去。要更改您的收款顺序,您可以:

  • 在编辑时删除最后一个集合,并保留新集合
  • 使用管理订单的属性
  • 连载你的收藏(我知道有点令人毛骨悚然)

我希望它能帮助