gpt4 book ai didi

mysql - 使用 counterCache 保存多行

转载 作者:行者123 更新时间:2023-11-29 22:25:16 27 4
gpt4 key购买 nike

我在 cakePHP 2.6.4 中遇到 counterCache 问题。我需要将多行保存到 bloggers_products 表中,并且我想为每个产品增加 Bloggers.products_all 。目前,products_all 始终递增一次。

BloggersProduct belongsTo Blogger
Blogger hasMany 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));

当我编辑或删除任何相关产品计数器时,计数器设置为真实值。

最佳答案

答案很简单:

$this->YourModel->cacheQueries = false;

关于mysql - 使用 counterCache 保存多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30320241/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com