Rails 3:尝试理解连接查询

时间:2011-08-03 19:39:37

标签: ruby-on-rails ruby-on-rails-3 inner-join

我有一个User类和一个GroupUser类。我正在尝试按用户名进行搜索。我试着按照我在连接上阅读的内容,但是我有些不对劲。另外,我需要将查询的名称部分更改为like而不是equals

这是我最初构建的查询。

@users = GroupUser.joins(:users).where(:group_id => params[:group_id]).where(:users => {:name => params[:q]})

1 个答案:

答案 0 :(得分:0)

试试这个:

@users = User.where("name ilike ? and id in (select distinct user_id from groups_users where group_id = ?)", "%#{params[:q]}%", params[:group_id])