次のテーブルがあります
Users
- id
- name
User_Skills
- id
- user_id
- skill_id
Skills
- id
- name
正確なスキルセットを持つすべてのユーザーを取得したい
User.join(:user_skills).where('user_skills.skill_id IN (1,2,3)')
これにより、1 または 2 または 3 のいずれかのスキルを持つすべてのユーザーが返されます。
スキル 1 AND 2 AND 3 を持つユーザーのみを取得するにはどうすればよいですか?
これは動作しません
User.join(:user_skills).where('user_skills.skill_id = 1 and user_skills.skill_id = 2 and user_skills.skill_id = 3')