modules=MenuModule.all(:order => "module_seq")
modules.each do |m|
groups=m.menu_groups.all(:order => "group_seq")
groups.each do |g|
items=g.menu_items.all(:order => "item_seq")
items.each do |i|
puts i.name
end
end
end
UPDATE 如何使用包含订单?
Something like MenuModule.find(:all,:include => {:menu_groups(:order => "group_seq"), :menu_items(:order => "item_seq")},:order => "module_seq")
有可能吗?
答案 0 :(得分:1)
请参阅:http://www.arraystudio.com/as-workshop/nested-include-activerecord-option.html
MenuModule.all(:include => [{:menu_groups, :menu_items}], :order => 'module_seq,modules.group_seq,modules.groups.item_seq')
如果item_seq不是您想要排序的,您可能可以使用ruby排序方法进行排序。根据我的意识,嵌套连接中的mysql order子句只会在连接中按一个约束排序。