2011-08-03 62 views
0

我有一個User類和一個GroupUser類。我正在嘗試按用戶的名稱進行搜索。我試着按照我在連接上閱讀的內容,但是我有一些錯誤。此外,我需要更改我的查詢名稱部分,而不是一個等於Rails 3:試圖瞭解連接查詢

這是我最初建立的查詢。

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

回答

0

試試這個:

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

我寧願從GroupUsers的方向去作爲一個用戶可以是多個組的一部分。 – Jhorra

+0

從你原來的查詢我假設你想要用戶,屬於指定組(params [:group_id])和以上查詢給你。如果你從GoupUser去,你會得到一組GroupUser對象,而不是用戶。 –

+0

無論我從groupuser那裏做了什麼,我都無法使它工作,所以我必須從用戶那邊做它,並立即工作。與我的聯繫或某事有點奇怪。 – Jhorra