【发布时间】:2011-08-01 14:56:58
【问题描述】:
我会尽可能地解释这一点。我有一个关于用户帖子的查询:
@selected_posts = Posts.where(:category => "Baseball")
我想写以下声明。这是伪术语:
User.where(user has a post in @selected_posts)
请记住,我有一个多对多关系设置,所以 post.user 是可用的。
有什么想法吗?
/编辑
@posts_matches = User.includes(@selected_posts).map{ |user|
[user.company_name, user.posts.count, user.username]
}.sort
基本上,我需要上述工作,以便它使用在 selected_posts 中有帖子的用户,而不是我们数据库中的每个用户。
【问题讨论】:
-
虽然 Kandada 的回答是使用手工 SQL 解决问题的好方法,但有时需要使用 ruby(例如,如果您想使用在步骤中检索到的信息来做事)构建查询的方式)。请在下面查看我的答案,以获取使用更多 ruby 和更少 sql 检索您正在寻找的信息的方法。
-
我同意,我按照你的方式去了。
标签: ruby-on-rails ruby ruby-on-rails-3