1

我在 2 个模型之间存在多对多关系,InvoicePosition使用 hasMany through 方法定义,如Cookbook中所述。

现在,当我创建发票时,我想在一次操作中将多个职位保存到该发票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));

结果应该是一张新发票,其中有 2 个职位链接(这意味着发票表中有 1 条新记录,职位表中有 2 条新记录,连接表中有 2 条新记录)。

Cake的内置方法可以吗?还是我必须覆盖该saveAll()模型的 - 方法?

4

1 回答 1

1

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

$this->Invoice->saveAll($data, array('deep' => true));
于 2012-08-23T11:48:49.177 回答