Rails按父ID排序

时间:2016-07-25 13:05:11

标签: sql ruby-on-rails postgresql

我有categorysubcategory

category - 父母

  has_many :subcategories

subcategory - 具有category_id键的孩子

  belongs_to :category

我想按父母ID排序,如

subcategory=1 parentId=1

subcategory=2 parentId=1


 subcategory=122 parentId=1

 subcategory=232 parentId=1



  subcategory=12 parentId=2

  subcategory=18 parentId=2

等等

我试过了

Subcategory.joins(:category).order('categories.id') and 


Subcategory.joins(:category).group(['subcategories.title','categories.id']).order('categories.id')

但它不起作用

我如何排序?

我不关心子类别订单只需要通过parentId设置订单

3 个答案:

答案 0 :(得分:0)

这对你有用,

category_ids = SubCategory.joins(:category).select('*').order('category_id ASC')

category_ids.pluck('category.id') //check the category id's

答案 1 :(得分:0)

试试这个。

Subcategory.select( 'CATEGORY_ID')。组( 'CATEGORY_ID')。阶( 'ID')

答案 2 :(得分:0)

我也在研究类似的功能。这对我来说很有用:

ChildTable.order(:parent_id)