我有一個User
模型,具有name
屬性。在我的PagesController
中,我想設置一個等於所有User對象的實例變量,但我想根據姓氏對它們進行排序。我知道我可以做:Rails 4:基於* name *屬性中的* last word *排序用戶?
@sortedusers = User.order(:name => :asc)
訂購基於其name
屬性的用戶,但我怎麼做它的基礎上的姓? (即如何訂購基礎上,最後一句話:當用戶name
屬性?
感謝。
我有一個User
模型,具有name
屬性。在我的PagesController
中,我想設置一個等於所有User對象的實例變量,但我想根據姓氏對它們進行排序。我知道我可以做:Rails 4:基於* name *屬性中的* last word *排序用戶?
@sortedusers = User.order(:name => :asc)
訂購基於其name
屬性的用戶,但我怎麼做它的基礎上的姓? (即如何訂購基礎上,最後一句話:當用戶name
屬性?
感謝。
我建議單獨存儲用戶的姓氏。除非,你可以使用sort_by,像這樣:。 items.sort_by! { |a| a.split(' ') }
或沿着這些線路的東西需要注意,這很可能是不能用直線,它只是爲了你指出正確的方向,因爲我的大部分答案都是
定義虛擬屬性的姓氏中您的型號
def last_name
name.split(' ').last
end
然後
User.order(:last_name => :asc)
我不認爲數據庫的查詢命令可以用虛擬屬性來使用,這就是爲什麼@ HD1建議sort_by改用並單獨存儲的名稱。 – acadavid