1

ModuleQuestion、および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;
4

2 に答える 2