2 つのモデル間に多対多の関係があり、クックブックで説明されているように、hasMany スルー メソッドInvoice
で定義されています。Position
請求書を作成するときに、1 回の操作で複数のポジションをその請求書に保存したいと考えています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 つの新しい請求書になります (つまり、請求書テーブルに 1 つの新しいレコード、位置テーブルに 2 つの新しいレコード、結合テーブルに 2 つの新しいレコード)。
Cakeの組み込みメソッドで可能ですか? saveAll()
または、そのモデルのメソッドを上書きする必要がありますか?