我有三个关联的表,我正在尝试进行简单的搜索。
User Table
ID | Name
User_Contacts Table
User_ID | Contact_ID | Updated_At
Contacts Table
ID | Name
我目前设置了自己的关联,以便我可以执行以下操作
@contacts = @current_user.contacts
并返回User_Contacts表。我想保持这种方式,因为我仍然需要在我的视图中使用updated_at属性。
现在我需要做的是如何搜索联系人表并找到名称中的每个联系人都是“%mike%”,并将此更新更新为@contacts变量。也许我正在以错误的方式接近这一点,但我无从何处开始。
提前致谢。
答案 0 :(得分:0)
尝试使用此尺寸:
@contacts = Contact.includes(:user_contacts).where("name like ? and user_contacts.id = ?", "%mike%", @current_user.id)
魔术位是.includes
,它急切加载相关的表。需要考虑很多技术含义,但您可以在此处阅读更多内容:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
答案 1 :(得分:0)