2012-07-23 39 views
0

在我的應用程序中,我有一個搜索字段來查找足球訪問。我希望它能夠通過訪問的俱樂部進行搜索。在我的模型中訪問belongs_to俱樂部,所以訪問有一個字段「club_id」。因此,當我用身份證進行搜索時,會找到俱樂部,但我希望能夠通過俱樂部名稱找到它。 「club_id」應該替換爲「visit.club.name」之類的內容,但我該如何實現?這是我當前的查詢:使用where子句與外鍵

# Find visits 
    def find_anything(find_phrase) 
    unless find_phrase.blank? 
     @visits = Visit.where('address LIKE ? OR ground LIKE ? OR club_id LIKE ?', 
       "%#{find_phrase}%", 
       "%#{find_phrase}%", 
       "%#{find_phrase}%") 
    end 
    end 

回答

0

應該做的伎倆:

Visit.where(club_id: Club.where(name: "ClubName")) 
0
Club.joins(:visits).where('visits.club_id' => club_id).first.name 

*這個假設俱樂部模型的has_many:訪問

Club.find(Visit.find_by_club_id(club_id)).name