0
我在cakePHP 2.6.4中有counterCache問題。 我需要保存多行到bloggers_products
表,我想增加每個產品的Bloggers.products_all
。現在,products_all
總是增加一次。用counterCache保存多行
BloggersProduct belongsTo Blogger
Blogger hasMany BloggersProduct
BloggersProduct型號
'Blogger' => array(
'className' => 'Blogger',
'counterCache' => array(
'products_all' => true,
'reviews' => array('NOT' => array('BloggersProduct.review' => '0000-00-00'))
)
)
我試圖保存在迴路上與saveMany
數據。
$i = 0;
$save = [];
$this->loadModel('BloggersProduct');
foreach ($data as $product) {
// $save = [];
// $save['product_id'] = intval($product);
// $save['blogger_id'] = $blogger_id;
// $save['send_at'] = date('Y-m-d', time());
//
// $this->BloggersProduct->create();
// $this->BloggersProduct->save($save, array('counterCache' => true));
$save[$i]['product_id'] = intval($product);
$save[$i]['blogger_id'] = $blogger_id;
$save[$i]['send_at'] = date('Y-m-d', time());
$i++;
}
debug($save);
$res = $this->BloggersProduct->saveMany($save, array('counterCache' => true));
當我編輯或刪除任何相關產品計數器設置爲真正的價值。
我嘗試在博客表,使用默認設置蛋糕設置bloggers_product_count並得到同樣的結果。 saveAll,saveMany,設置ClassName,foreignKey,檢查afterSave回調 - counterCache = true。我浪費了整整一天的時間嘗試一切,但仍然沒有做一步... – Sojtin