所以,我试图找出帖子的author_ids,其最新帖子收到10-50个喜欢。这就是我想要做的事情:
Post.select('MAX(created_at) as created_at, author_id')
.group(:author_id)
.where('likes > 10')
.where('likes < 50')
它工作得很好,但是当我添加pluck[:author_id]
时,它会从select中删除SELECT MAX(
。我如何只获得author_ids
?
答案 0 :(得分:2)
pluck这样做会删除select
中的内容。
另一方面,map
可以满足您的需求。
Post.select('MAX(created_at) as created_at, author_id')
.group(:author_id)
.where('likes > 10')
.where('likes < 50')
.map(&:author_id)
答案 1 :(得分:0)
尝试使用此
Post.where(likes: [10..50]).pluck[:author_id].uniq
这是一个有点不同的方法,因为我更喜欢利用ruby
语法而不是直接查询,但它应该可以正常工作