由于我找不到关于同时保存具有HABTM关系的两个模型的大量信息。
我有一个订阅表单,用于在线订阅儿童。父母可以同时输入多个子女和多个父母。所以JS可以添加更多的文本框,使它们更有效(Model.number.field
)
-
我想验证子模型和管理器(不能使用父模型名,所以在这种情况下,父模型=管理器):
if($this->Child->saveAll($this->data['Child'], array('validate' => 'only')) && ($this->Manager->saveAll($this->data['Manager'], array('validate' => 'only'))) ) { debug('form is valid!'); }
此代码仅适用于只有1个子节点和1个管理节点(=父节点)的情况。
-
如何同时保存具有HABTM关系的这2个模型?
这是值$this->data
的调试:http://pastebin.com/m6dtBzga
来自文档:
为了保存单个模型的多条记录,$data需要是一个数字索引的记录数组,如下所示:
Array
(
[Article] => Array(
[0] => Array
(
[title] => title 1
)
[1] => Array
(
[title] => title 2
)
)
)
保存上述$data数组的命令如下:
$this->Article->saveAll($data);
http://book.cakephp.org/view/1031/Saving-Your-Data