私の候補モデルの高度な検索ファインダーを構築しようとしています。 これは、カップルのフィールドと複数の関連付けがhas_many: languages
& has_many: skills
のように考えられます。今、私はこのようなクエリ構築しています:Railsの複数の関連付けの詳細検索
query = Candidate.select("*")
if position_name
query = query.where('position_name LIKE ? OR position_name IS NULL',"%#{position_name}%")
end
if salary
query = query.where('salary <= ? OR salary IS NULL',salary)
end
をというように...
今私は、より高度な条件を追加したいだけでPHP
とJava
のような、そのようなスキルを持っているユーザー(そのリターンを見つけたいです両方のスキルを持っているユーザーのみ)
これは動作しますが、私はさらにOR
query = query.joins(:skills)
query = query.where('`skills`.`name` = ? OR `skills`.`name` = ?',"Java","PHP")
を挿入した場合にのみ私は言語についても同じことを望みます(プラス、言語はlanguage.name
& language.level
です)
誰かがどの方向に向いていますか?また、私は複数のスキルや複数の言語ができるような条件を構築する方法ですか?
検索は急速に燃える。 – iwasrobbed
私はこれを試してみます。ありがとう。 – Johny