Railsの質問です。
言葉では説明しにくいので、図を交えながら説明します。
A中学校1年のモデルがあるとして、その下に組モデル、
その下に生徒モデルがあるとします(それぞれ上下はbelong_to,has_manyで繋がってるとします。)
..................... [赤松]
............ [1組] [山田]
[A中学校1年] [2組] [高田]
................... [香取]
............ [3組] [松本]
...................... [小島]
と、こんな感じです。
この場合、A中学校1年の全生徒を身長順で取り出したい場合、どのような
active_recordを書けば良いでしょうか
クラスだけを取り出す場合なら
lang
1 school = School.find 1 2 school.classes.where ~
と書きます。
ここで、本題である身長順で取り出す場合
lang
1 student_list = [] 2 school = School.find 1 3 school.classes.each do |class| 4 class.students.each do |student| 5 student_list << student 6 end 7 end 8 9 #(省略)student_listを身長順に並べる処理 10
と、私の思いつく限り、このような書き方しかでません。
もっと短いコードで取り出す方法はありませんでしょうか。
できれば、studentモデルにwhereをかけてやりたいです。
よろしくおねがいします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。