[英]Sort in Ascending Order Rails
嗨,我有这个模型
型号项目
class Inventory::Item < ActiveRecord::Base
has_many :types, :class_name => "ItemType"
attr_accessible :name
end
模型item_type
class Inventory::ItemType < ActiveRecord::Base
belongs_to :item
attr_accessible :number
end
然后在控制器中说我想根据项目名称按升序对类型(具有类ItemType)进行排序。 我怎么做?
例如,
所以不是从数字中对它进行排序,而是希望它基于item.name(ASC)进行排序,如下所示:
像这样的东西应该做的伎俩......
ItemType.includes( :item ).order( 'inventory_items.name DESC' )
此外,如果您需要在许多位置执行此操作,您可以通过为has_many
调用提供:order
参数来完成相同的操作,而不是 - http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many 。
您还可以在模型中设置默认顺序,如下所示:
default_scope order("#{self.table_name}.item_name ASC")
这将按item_name对项目进行排序,而不对控制器进行任何更改
对于名称类型的字段(字母表)进行ASC(默认排序模式),
You can use ORDER BY Clause in MySQL
因此,在Rails中你可以简单地使用
Model.order(:field_name)
在您的查询中,您可以使用/添加ORDER BY itemType ASC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.