我如何保存以下内容;
我希望前4个项目适用于要保存的所有"产品",因为这些数据位于我的表格顶部,并且"全球"对于保存的产品,我如何告诉cakephp将其保存到每个产品中,还是我必须创建一个foreach循环并手动插入数据?
每种产品的全球数据。
[discount_id] => 17 [range_id] => 21 [category_id] => 6 [user_id] => 104
Array
(
[Product] => Array
(
[discount_id] => 17
[range_id] => 21
[category_id] => 6
[user_id] => 104
[0] => Array
(
[product_code] => ffff
[colour] => red
[lead_time_weeks] =>
[description] =>
[height] => 11111
[width] => 22222
[depth] =>
[price] =>
[discount] => 50
[discounted_price] =>
[quantity] =>
)
[1] => Array
(
[product_code] => fgfgfggf
[colour] => red
[lead_time_weeks] =>
[description] =>
[height] => 123
[width] => 123
[depth] =>
[price] =>
[discount] => 50
[discounted_price] =>
[quantity] =>
)
)
)
在控制器中保存方法
$this->Product->saveAll($this->request->data['Product']
答案 0 :(得分:1)
我个人会使用foreach循环,saveAll用于保存相关数据。 e.g。
foreach($this->request->data['Product'] as $product){
// Don't want to add the generic items
if(is_array($product)){
$newProduct = $this->Product->create();
$newProduct['Product'] = $product; // To save added them seperately
// Then add the generic items into the array
$newProduct['Product']['discount_id'] = $this->request->data['Product']['discount_id'];
etc...
$this->Product->save($newProduct);
}
}