0

私のアプリには、サッカーの訪問を見つけるための検索フィールドがあります。訪問したクラブで検索できるようにしたいと思います。私のモデルでは、belongs_toクラブにアクセスするため、visitには「club_id」というフィールドがあります。ですから、IDで検索するとクラブは見つかりますが、クラブ名で見つけられるようにしたいと思います。「club_id」は「visit.club.name」のようなものに置き換える必要がありますが、どうすればこれを実現できますか?これは私の現在のクエリです:

  # 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
4

2 に答える 2

0

それはトリックを行う必要があります:

Visit.where(club_id: Club.where(name: "ClubName"))
于 2012-07-24T01:03:24.273 に答える
0
    Club.joins(:visits).where('visits.club_id' => club_id).first.name

*これは、クラブモデルhas_many:visitsを前提としています

また

    Club.find(Visit.find_by_club_id(club_id)).name
于 2012-07-24T04:50:42.450 に答える