[英]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.