使用一个请求提交多个表单
Submit multiple forms with one request
我在同一个视图中有两个表单,每个表单来自不同的entity/model。
我想用一个请求提交它们,如果可能的话,数据应该去相应的控制器+动作。
如何实现?
编辑:
我想在实体 A 的表单中编辑属于实体 A 的实体 B。
A有很多B。
按照@arilia的建议,我仔细阅读了手册。
首先,我关联了表,将其添加到 BTable
$this->belongsTo('A', [
'foreignKey' => 'auto_id',
'joinType' => 'INNER',
]);
并将此添加到 ATable
$this->hasMany('B');
在此之后的 AController 中
if ($this->request->is('post')) {
我为 'add' 操作添加了这个,
$a= $this->A->patchEntity($a, $this->request->data, [
'associated' => [
'B'
]
]);
在编辑操作中,我执行了与上述相同的步骤,并在函数签名之后加上:
$a= $this->A->get($id, [
'contain' => ['B']
]);
它解决了这个问题,因为现在我可以只用一种形式编辑关联的实体。
谢谢@arilia
我在同一个视图中有两个表单,每个表单来自不同的entity/model。
我想用一个请求提交它们,如果可能的话,数据应该去相应的控制器+动作。
如何实现?
编辑:
我想在实体 A 的表单中编辑属于实体 A 的实体 B。
A有很多B。
按照@arilia的建议,我仔细阅读了手册。
首先,我关联了表,将其添加到 BTable
$this->belongsTo('A', [
'foreignKey' => 'auto_id',
'joinType' => 'INNER',
]);
并将此添加到 ATable
$this->hasMany('B');
在此之后的 AController 中
if ($this->request->is('post')) {
我为 'add' 操作添加了这个,
$a= $this->A->patchEntity($a, $this->request->data, [
'associated' => [
'B'
]
]);
在编辑操作中,我执行了与上述相同的步骤,并在函数签名之后加上:
$a= $this->A->get($id, [
'contain' => ['B']
]);
它解决了这个问题,因为现在我可以只用一种形式编辑关联的实体。
谢谢@arilia