问题标签 [counter-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 在 cakephp 中 - 我可以反缓存相关模型吗?例如:用户 -> 个人资料
我的桌子member_count
上有一个字段。countries
Profile
属于Country
所以,当用户运行保存时$this->User->Profile->save( $this->data)
,我想更新counterCache
in Country
。
可能的?
ruby-on-rails - Rails ActiveRecord :counter_cache 如果在创建之前没有设置关联,则不会更新。故意的?
我已经使用 :counter_cache => true 实现了 belongs_to 关系,我注意到如果在初始保存之前没有设置关系,计数器缓存不会得到更新。
例如,假设一家公司有很多员工。如果我做
计数器得到正确更新,但如果我这样做
计数器保持不变。
有关更多详细信息,请参阅以下型号:
这是一个 Rails 控制台会话,它演示了这一点:
文档确实说在创建/销毁对象时计数器会增加/减少,但我认为它也应该监视更新以使其有用。否则,比如说,在公司之间调动员工很快就会导致柜台完全关闭。
这是预期的行为吗?如果是这样,理由是什么?如果没有,我是不是做错了什么?我在 Rails 3.0.5 和 Ruby 1.9.2 中试过这个
谢谢!
ruby-on-rails - 当计数列出现某些条件时如何在 Rails 中使用 counter_cache
我这里有一些代码
现在,我想为成员添加一个 counter_cache。由于条件模式,我不能在成员而不是成员上添加 counter_cache。但是类人不属于_组,它有_许多成员和成员属于_组。我应该在哪里添加 :counter_cache 架构?
或者我该如何实现要求:为会员添加一个 counter_cache
谢谢
ruby-on-rails-3 - 跟踪关联中某些字段的总和 - “sum_cache”
我在模型中有带有 has_many 关联的表“订单”和“项目”。
Item 由“quantity”字段组成,Order 由“quantity_sum”字段组成,以跟踪相关项目数量的总和。
例如:
我一直在寻找一种方法,以便每当添加/编辑/删除新项目时,Order 的“quantity_sum”字段都会自动更新。目前我一直在 Item 中使用 after_save 方法来更新 Order 的 'quantity_sum' 字段。
除了'after_save'之外,还有其他巧妙的方法吗???
类似于用于跟踪关联计数的“counter_cache”,rails 是否支持自动跟踪关联中某些字段的总和?
谢谢
ruby-on-rails - 带条件的 counter_cache
我知道我可以使用回调,但这应该是可行的。我做了长时间的搜索,没有结果。这是我认为会奏效的。
未按计划工作,因为您可以看到其更新的文档计数而不是发布的文档计数。
ruby-on-rails - 当我在 counter_cache 上订购时,它首先返回 nil 对象?
我的项目模型上有 owns_count counter_cache。当我做
,它返回我在其他结果之前为零的对象。如果我做
, 它是正确的。
我应该做什么?
ruby-on-rails - 在heroku上运行迁移的问题
这是这篇文章Rails, data structure and performance的后续 ,我尝试在 Rails 上创建 Counter Cache。为了不将其设置为默认值 0,我还添加了将列更新为数据库中现有的计数值。
在开发上运行 rake db:migrate 效果很好,即使它需要几个小时才能运行。
但是使用 heroku 运行迁移会给我以下错误:
我尝试了一些不同的东西,但此时似乎迷失了,任何帮助表示赞赏!奇怪的是,错误消息并不总是立即出现,有时就像迁移正在运行一样需要 10/20 分钟。
谢谢
更新:这是我的迁移文件的内容:
更新2:这适用于带有heroku的登台环境......但不适用于生产
经过一些修改,迁移代码现在是:
错误是:
ruby-on-rails - 如何在一个模型中触发多个 counter_cache 作为 has_many :通过
我有 3 个模型(Allen、Bob、Chris),它们与 Join 模型是多态的。和一个与连接模型连接的用户模型。
我的问题是如何在用户模型中为 Bob、Chris 和 Allen 编写计数器缓存
或者你可以在这里查看它:https ://gist.github.com/1350922
ruby-on-rails - Rails 3 和 Rspec:计数器缓存列在预期 1 时更新为 2
我正在使用 Rspec 测试一个名为 Solutions 的模型,它有很多喜欢。解决方案存储它有多少喜欢(counter_cache)。它有一个“likes_count”属性(和相应的数据库字段)。
当我创建与解决方案关联的 Like 记录时,我希望解决方案属性“likes_count”应该从 nil 更新为 1。当我在控制台中执行此操作时,它可以工作。
但是当我运行规范时,在控制台中做同样的事情时,它会更新两次“likes_count”字段,将其设置为 2。
看看(在控制台中)工作:
看看规范结果不工作:
这是规格:
我查看了 test.log,我意识到更新计数器缓存列的 db 查询在测试中被调用了两次。
ruby-on-rails-3 - 如何在 Rails 3 中缓存类似于 counter_cache 的计算属性?
我有一个属性,它是来自各种其他模型的基于计算值的数据。
我正在寻找一种巧妙的方法来缓存该值,类似于counter_cache
但该值通过自定义函数自动更新。我已经在模型中有自定义功能。
如果修改了任何依赖数据,我需要调用此函数。有什么建议么?