当我尝试使用$ data数组创建Template的新条目时,模板,组和产品的模型会正确保存。但是不保存嵌套的Calcfield(它是hasMany of Group)。 :(组和产品有很多模板。
这有可能吗?
$this->Template->create();
$this->Template->saveAll($data, array('validate' => false));
// $data looks like this:
Array
(
[Template] => Array
(
[title] =>
[shorttitle] => Wie auch immer
[place] => Hannover
[size] =>
)
[Group] => Array
(
[0] => Array
(
[title] => Hosting
[order] =>
[Calcfield] => Array
(
[0] => Array
(
[title] => Hosting
[value] => 0
[description] =>
)
[1] => Array
(
[title] => Strom
[value] => 0
[description] =>
)
)
)
)
[Product] => Array
(
[0] => Array
(
[share] => 10
[businessunit] => Marketing
)
[1] => Array
(
[share] => 30
[businessunit] => intl. CRM
)
)
)
答案 0 :(得分:2)
不,据我所知,递归保存是不可能的。你需要将它们放在一个单独的数组中,然后在初始保存后保存它们。
答案 1 :(得分:1)
从CakePHP 2.1开始,可以使用deep
中的saveAll
参数保存深层嵌套模型(自CakePHP 2.1起)
REF。 http://book.cakephp.org/2.0/en/models/saving-your-data.html?highlight=saveall#model-saveassociated