2011-04-03 18 views
0

用戶有一個配置文件,配置文件屬於用戶。在arrary中使用鏈接的模型來篩選名稱

我想查詢哪裏搜索用戶列表,我可以搜索用戶配置文件中存在的名稱。

這是我到目前爲止有:

@user_list = User.where(:company_id => current_user.company.id) 
    .joins(:profile).where("profile.first_name like ?", "%#{params[:q]}%") 

這並不工作,但我真的不知道從哪裏走?

+0

請,沒有 「不工作」 S,顯示錯誤/錯誤的結果/不管 – tokland 2011-04-03 16:30:40

回答

1
  1. 不是你寫的錯誤消息或數據庫表,但我猜測,作爲一個Rails約定,該表稱爲profiles,而不是profile
  2. 你應該範圍由公司而不是通過查詢ID在用戶模式

一起:

@user_list = current_user.company.users. 
    joins(:profile).where("profiles.first_name like ?", "%#{params[:q]}%") 
+0

完美的感謝! – Elliot 2011-04-03 19:15:25

0

嘗試User.includes(:profile)而不是連接,並檢查日誌中生成的sql查詢。如果它不起作用,請向我們展示生成的sql。