0

私は次の協会を持っています:

class Resource < ActiveRecord::Base 所属先 :author

 def self.search(search)
     where('title ILIKE ? OR description ILIKE ?', "%#{search}%","%#{search}%")
 end

次のように著者名を検索する必要があります。

 where('title ILIKE ? OR description ILIKE ? OR author_name ILIKE ?', "%#{search}%","%#{search}%","%#{search}%" )

終わり

Resource テーブルに author_id があり、author name フィールドがないため、これは明らかに機能しません。

私はNOOBなので、助けていただければ幸いです

ありがとう

4

1 に答える 1

2

joins メソッドを使用して、authors テーブルを結合できます。以下の例を参照してください。

def self.search(search)
 joins(:author).where('title ILIKE ? OR description ILIKE ? OR authors.name ILIKE ?', "%#{search}%","%#{search}%","%#{search}%")
end
于 2012-10-16T22:18:19.403 に答える