Cakephp 一次保存多个hasMany

Cakephp 一次保存多个hasMany,cakephp,many-to-many,has-many-through,Cakephp,Many To Many,Has Many Through,我使用hasMany-through方法(如中所述)定义了两个型号发票和位置之间的多对多关系 现在,当我创建发票时,我想在一个save()-操作中将多个位置保存到该发票。大概是这样的: $data = array( 'Invoice' => array( // invoice stuff ), 'InvoicesPosition' => array( [0] => array( // additional meta informatio

我使用hasMany-through方法(如中所述)定义了两个型号
发票
位置
之间的多对多关系

现在,当我创建发票时,我想在一个
save()
-操作中将多个位置保存到该发票。大概是这样的:

$data = array(
  'Invoice' => array(
    // invoice stuff 
  ),
  'InvoicesPosition' => array(
    [0] => array(
      // additional meta information
      'Position' => array(
        // position stuff
        // ...
      ),
    ),
    [1] => array(
      // ...
      'Position' => array(
        // position stuff
        // ...
      ),
    ),
    // and so on
  ),
);  

$this->Invoice->saveAll($data, array('deep' => true));
结果应该是一个新的发票,有两个位置链接到它 (这意味着invoices表中有1条新记录,positions表中有2条新记录,join表中有2条新记录)


蛋糕的内置方法是否可行?或者我必须覆盖该模型的
saveAll()
-方法吗?

在saveAll()方法中使用
'deep'=>true
选项


在saveAll()方法中使用
'deep'=>true
选项


啊,很好,谢谢。我必须编辑我的
数据
数组。请看上面的代码。啊,很好,谢谢。我必须编辑我的
数据
数组。请看我上面的代码。修复问题中的错误代码有点奇怪,现在看起来它首先是正确的,最好保留原始问题,并且批准的答案将向具有相同问题的其他用户显示要更改的内容。下次将记住这一点。抱歉。修复问题中的错误代码有点奇怪,现在看起来它首先是正确的,最好保留原始问题,并且批准的答案将向具有相同问题的其他用户显示要更改的内容。下次将记住这一点。很抱歉
$this->Invoice->saveAll($data, array('deep' => true));