gpt4 book ai didi

ruby - 事件记录查询

转载 作者:太空宇宙 更新时间:2023-11-03 16:12:12 25 4
gpt4 key购买 nike

我有以下ActiveRecords

class Product < ActiveRecord::Base  
has_many :reviews
end

class Review < ActiveRecord::Base
belongs_to :product
end

每个评论对象都包含一个名为“rating”的字段
我希望获得平均评级大于特定界限的所有产品的列表。
我不明白如何使用 find 命令来执行此操作。
find 让我们做那样的事情吗?

最佳答案

当查询开始询问诸如聚合值条件之类的事情时,我会使用 SQL,就像这个一样。有多种方法可以达到您想要的结果 - 这对我来说最直接:

bound = 3
products = Product.where('id in
(
select product_id
from reviews
group by product_id
having avg(rating) > ?)', bound)

关于ruby - 事件记录查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/908116/

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