Module、Question、およびCategoryモデルがあります。
Module hasMany Questions. (1 to Many)
Question belongsToMany Categories. (Many to Many)
特定のModuleについて、 category_id = XであるQuestionsのみにアクセスしたいと思います。
これを行う最も効率的な方法が何であるかはわかりません。Module と Category の間の HasManyThrough 関係を介してそれを行うことはできますか? または、ループを作成する必要がありますか? それとも、生の SQL クエリを使用して実行しますか?
更新:
この SQL クエリは機能しているようです。しかし、もっとエレガントなソリューションが必要だと思いますか?
SELECT id
FROM questions
INNER JOIN category_question ON questions.id = category_question.question_id
WHERE category_question.category_id = X and module_id = Y;