Rails activerecord count 关联数

用户1666543

我有一个名为 Impression 的模型 - 它计算每张卡片(也是一个模型)的视图。我正在尝试用卡片打印一张表格,该表格在上个月至少有 10 次浏览。所以我开始 -

cards = Card.joins(:impressions).where("impressions.created_at > ? AND impressions.created_at < ?", Date.today-30.days, Date.today).uniq

然后我做了——

cards.select {|card| card.impressions.count >= 10 }

但它运行了很长时间。我想要更有效的东西。有什么想法可以计算展示次数并对其进行排序吗?

我想尽可能高效地完成它 - 不使用 N+1 问题迭代整个数据库,因为它可能会变得非常难看。

红宝石

你的印象表的 created_at 列有索引吗?

如果您正在查询它并且没有 - 您可以通过生成迁移文件来添加它。

add_index(:impressions, :created_at)

您可以使用纯 SQL 向查询添加条件,例如:

cards = Card.joins(:impressions).where("impressions.created_at > ? AND impressions.created_at < ?", Date.today-30.days, Date.today).group('cards.id').having('COUNT(impressions.*) >= 10')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails ActiveRecord关联

来自分类Dev

Rails 4多个ActiveRecord关联

来自分类Dev

Rails:新关联的 activerecord 更新

来自分类Dev

Rails:ActiveRecord关联返回零关系

来自分类Dev

Rails:基于关联值的ActiveRecord查询

来自分类Dev

Rails的ActiveRecord的belongs_to关联未加载

来自分类Dev

Rails 4 ActiveRecord的关联计数顺序

来自分类Dev

Ruby on Rails:Activerecord集合关联的模型

来自分类Dev

ActiveRecord模型实例上的旧关联数据?

来自分类Dev

ActiveRecord模型实例上的旧关联数据?

来自分类Dev

如何在Rails中使用ActiveRecord查询关联的关联?

来自分类Dev

CakePHP如何获取关联数据和COUNT / GROUP BY

来自分类Dev

Rails:ActiveRecord has_many关联不起作用

来自分类Dev

Rails 4:使用表单对象时验证关联的ActiveRecord模型

来自分类Dev

Rails ActiveRecord ::验证关联是否存在的正确方法?

来自分类Dev

Rails 3 ActiveRecord:顺序和按关联计数分组

来自分类Dev

Rails ActiveRecord按联接表关联计数排序

来自分类Dev

Rails ActiveRecord ::验证关联是否存在的正确方法?

来自分类Dev

如何在Rails 4.2中设置此ActiveRecord关联?

来自分类Dev

使用ActiveRecord查询时Rails无法理解关联

来自分类Dev

Rails 4:ActiveRecord删除调用上的删除关联列

来自分类Dev

如何在Rails / ActiveRecord中设置这个Emirates_to关联?

来自分类Dev

更新与 ActiveRecord rails 5 关联的哈希中的信息

来自分类Dev

Rails Activerecord:如何排除具有多个关联记录的记录

来自分类Dev

ActiveRecord关联

来自分类Dev

ActiveRecord关联

来自分类Dev

ActiveRecord关联

来自分类Dev

计算Ruby on Rails中具有状态的关联数

来自分类Dev

Rails或SQL查询以获取用户关联数据

Related 相关文章

热门标签

归档