【发布时间】:2010-10-18 20:18:56
【问题描述】:
我正在 Rails 3 中开发一个小型用户应用程序,但遇到了搜索功能。我有一个名为 Profile 的表,其中包含 Firstname 和 Lastname。搜索此表时,我使用:
Profile.find_all_by_firstname(params[:keyword])
问题是我希望用户能够搜索包含联系人的表(仅限 profile_id 和friend_id),但我希望他们也能够在这里按名称搜索。这是怎么做到的?
例如:
John 搜索姓名 Ann,这是他的联系人。由于 Contact 表不存储姓名,因此搜索必须在查询中包含 Profile 表。我该怎么做?
更新
此连接查询不仅获取联系人,还获取所有人,任何人都可以发现它的问题吗?
Profile.find_all_by_firstname(params[:keyword],
:select => "firstname, lastname, user_id",
:joins => "left outer join contacts on profiles.id = contacts.profile_id")
【问题讨论】:
-
嗨,你能展示你的迁移吗?
-
嗨,当然。 pastebin.com/5930zaJF
标签: sql ruby-on-rails join