我有一個情況我有一個字符串屬性在我的模型(名),它具有這種格式的數據:
- dan01
- joel02
- ken01
- raol01
我想要做的就是查詢和order by 名但我想通過使用以相反的順序串的順序,即dan01應被視爲10nad,想知道什麼是最好的方式在rails中執行此操作。
我有一個情況我有一個字符串屬性在我的模型(名),它具有這種格式的數據:
我想要做的就是查詢和order by 名但我想通過使用以相反的順序串的順序,即dan01應被視爲10nad,想知道什麼是最好的方式在rails中執行此操作。
這取決於您使用的數據庫,因爲您需要在數據庫層執行此操作以獲得性能。實際上,我認爲你可能想重新考慮你在這裏想要完成的事情,因爲我懷疑這確實是你正在尋找的答案。 -Jedi心靈Meld-
假設你使用MySQL:如果你的模型是Person
,您的查詢將Person.order('REVERSE(name)')
你能做到這一點的紅寶石,鼻翼Person.all.sort_by{|p| p.name.reverse}
但我真的不建議。
如果不知道你正在做什麼的完整背景,我會冒險猜測你想存儲第二個整數列,這是你的排序順序或沿着這些行的東西。
我沒有一個MySQL數據庫在我的面前,但是你應該能夠做這樣的事情:
Foo.order('REVERSE(name)')
上述工程中的Postgres並根據http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_reverse在MySQL應該也行。