使用一个请求提交多个表单

时间:2016-07-27 16:18:47

标签: forms cakephp-3.x

我在同一个视图中有两个表单,每个表单来自不同的实体/模型。

我想用一个请求提交它们,如果可能的话,数据应该转到相应的控制器+动作。

如何实现这一目标?

修改

我想在实体的A形式中编辑属于实体A的实体B.

A有很多B。

1 个答案:

答案 0 :(得分:1)

正如@arilia建议的那样,我通过了手册。

首先,我将表格添加到BTable

$this->belongsTo('A', [
        'foreignKey' => 'auto_id',
        'joinType' => 'INNER',
    ]);

这是ATable

$this->hasMany('B');

在此之后的AController中

if ($this->request->is('post')) {

我为“添加”操作添加了此内容,

$a= $this->A->patchEntity($a, $this->request->data, [
                'associated' => [
                    'B'
                ]
            ]);

在编辑操作中,我执行了与上面相同的步骤,并在功能签名后加上此步骤:

$a= $this->A->get($id, [
            'contain' => ['B']
        ]);

它解决了这个问题,因为现在我可以用一种形式编辑关联的实体。

感谢@arilia