在CakePHP中为多个/两个NOT相关模型创建表单

时间:2016-01-27 11:32:43

标签: validation cakephp formhelper

我有两个型号:ModelA,ModelB。他们的展位有id,name,...,done(bool)字段。

ModelA与ModelB没有任何关系!

我创建了一个Form,它在ModelA / add.ctp

中有booth模型字段
echo $this->Form->create('ModelA', [
...
]);

echo $this->Form->input('ModelA.name');
...
echo $this->Form->input('ModelA.done', [
    'default' => true
]);


echo $this->Form->input('ModelB.name');
...
echo $this->Form->input('ModelB.done', [
    'default' => true
]);

我的问题是,Cake不会为ModelB.done创建一个复选框,而是创建一个简单的输入字段。 它也不验证ModelB。 (因为它不知道这些字段与ModelB有关。)

我可以通过在ModelA控制器中加载ModelB来执行手动验证,并执行以下操作:$this->ModelB->validate(...)

我的问题是:是否可以设置此表单有两个不相关的模型?

1 个答案:

答案 0 :(得分:0)

我认为没有办法设置两个不相关的模型并在不调用验证函数的情况下验证它们。

但是,您的复选框问题可以很好地解决。

使用此:

   echo $this->Form->input('ModelB.done', [
    'type'    => 'checkbox',
    'default' => true
   ]);