首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails包含查询的问题

rails包含查询的问题
EN

Stack Overflow用户
提问于 2011-08-01 22:24:29
回答 2查看 1.2K关注 0票数 4

这让我不知所措,我也想不通了:|

下面,@selected_posts表示对Posts的查询。我想查询在@selected_posts中有帖子的排序用户。目前,使用下面的代码,我将返回users表中所有用户的正确用户列表。我会得到Mike,5- Joe,3- John,0- Jack,0 -- 0--零表示它正在查询每个单独的用户(这将是一个问题。关于如何修复以下代码以使其仅查询在@selected_posts中有帖子的用户的任何建议

代码语言:javascript
复制
@posts = user.includes(@selected_posts).map{ |user|

  [user.name, user.posts.count, user.username]

}.sort

感谢任何帮助,我欠你的债(你不知道这让我有多疯狂)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-01 23:06:37

正如我所理解的,你有模型: Post和User。用户可以有许多帖子。你的目标是获得所有有帖子的用户。你可以用不同的方式来做。例如:在用户模型中定义作用域

代码语言:javascript
复制
scope :with_posts, -> { joins(:posts) }
票数 2
EN

Stack Overflow用户

发布于 2011-08-01 23:32:32

还没有测试它,但这不是更接近于:

代码语言:javascript
复制
@users = User.joins(:posts).where(:posts => {:category => "Baseball"})

只是为了完整性,因为我喜欢这样的结果:

代码语言:javascript
复制
@users = Post.where(:category => "one").group(:user).count

将为您提供一个以users为键、postcount为值的OrderedHash。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6899833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档