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]">
我知道如何创建视图,如何使用 jquery UI 拖放组件等,所以不用担心。我只问如何使用 Symfony FormBuilder 创建此表单。你有什么想法吗?
我想你想创建一个 collection 的形式:doc。
在第一次持久化时,订单由您的请求 header 订单定义。但是,如果您编辑此 collection,您不能只提交另一个订单并坚持。
要更改您的 collection 订单,您可以:
- 在编辑时删除最后一个 collection 并保留新的 collection
- 使用一个属性来管理您的订单
- 序列化你的collection(我知道有点毛骨悚然)
希望对你有帮助
我有以下实体:
// 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]">
我知道如何创建视图,如何使用 jquery UI 拖放组件等,所以不用担心。我只问如何使用 Symfony FormBuilder 创建此表单。你有什么想法吗?
我想你想创建一个 collection 的形式:doc。 在第一次持久化时,订单由您的请求 header 订单定义。但是,如果您编辑此 collection,您不能只提交另一个订单并坚持。 要更改您的 collection 订单,您可以:
- 在编辑时删除最后一个 collection 并保留新的 collection
- 使用一个属性来管理您的订单
- 序列化你的collection(我知道有点毛骨悚然)
希望对你有帮助