2011-09-18 48 views
0

由于我找不到很多关于的信息,同时保存了两个型号,其中有HABTM关系同时保存多个HABTM机型

我有一个订阅表单,订阅在线儿童。父母可以同时输入多个孩子和多个父母。所以JS可以添加更多的文本框,并使其有效蛋糕(Model.number.field

  1. 我要验证孩子们和经理(不能使用父模型的名字,所以家长=在这种情况下,经理) :

    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个管理员(=父母)的情况。

  2. 如何在同一时间将这两个模型与HABTM关系一起保存?

这是值$this->data的调试:http://pastebin.com/m6dtBzga

回答

1

从文档:

用于保存单个模型的多条记录,$数据需要的是这样记录的数字索引数组:

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