本文介紹了按以數字開頭的字符串排序 - ActiveRecord的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
限時送ChatGPT賬號..
我正在構建 Rails 應用程序并嘗試按以數字開頭的字符串列對數據庫中的記錄進行排序.
怎么先按號碼下單?
我寧愿按 SQL 順序排序,也不愿按 ruby?? 方法排序.有什么辦法嗎?
I'm building Rails app and trying to order records in database by string column that starts with number.
How can I order by the number at first?
I'd rather ordering as SQL order than sorting by ruby method. Is there any way?
expected order
1.record1
2.record2
10.record10
present order
1.record1
10.record10
2.record2
推薦答案
您可以order by
field + 0
改變field
的數據類型code> 隱式轉換為一個數字:
You could order by
field + 0
to change the data type of field
to a number implicitly:
Model.order("field + 0 ASC")
# similar `string`.to_i in Ruby
# `1.record1` => 1
# `10.record10` => 10
這篇關于按以數字開頭的字符串排序 - ActiveRecord的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!