gpt4 book ai didi

ruby-on-rails - :counter_cache => true for storing sum

转载 作者:行者123 更新时间:2023-12-04 13:28:26 24 4
gpt4 key购买 nike

我有表usersscores
以下是关联:

belongs_to :user #score model
has_many :scores #user model

users具有名为 scores_count的列。在此列中,我将所有值的总和存储在表 scores中。

我想用这种方式将所有 scores的总和存储在 scores_count: :counter_cache => true 列中

但是 :counter_cache => true仅保存表 scores中的行数。有没有类似的方法来存储表 scores中所有值的总和?还是我必须自己执行此任务?

最佳答案

否。您必须自己实现。计数器缓存仅用于存储关联记录的数量。您可以使用Score上的回调来实现它,以更新关联的User。另请参阅How can I cache a calculated column in rails?

此外,除非每次合并时都存在明显的性能问题,否则请避免使用这样的缓存。这只是很容易出错并过时的事情。如果您真的不需要它,那是不值得的麻烦。

关于ruby-on-rails - :counter_cache => true for storing sum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11019253/

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