民间,
我的模型中有一个字符串属性(名称),其中包含以下格式的数据:
我想要做的是通过名称进行查询和排序,但我希望按顺序使用相反顺序的字符串,即 dan01 应视为< strong> 10nad ,想知道在rails中执行此操作的最佳方法是什么。
答案 0 :(得分:1)
这取决于您正在使用的数据库,因为您需要在数据库层执行此操作以获得性能。实际上,我认为你可能想重新考虑一下你在这里想要实现的目标,因为我怀疑这是你正在寻找的答案。 -Jedi Mind Meld -
假设您正在使用MySQL:如果您的模型为Person
,则您的查询将为Person.order('REVERSE(name)')
你可以用ruby,ala Person.all.sort_by{|p| p.name.reverse}
来做,但我真的不建议这样做。
在不知道你正在做什么的完整背景的情况下,我会猜测你想要存储第二个整数列,这是你的排序顺序或类似的东西。
答案 1 :(得分:0)
我面前没有MySQL数据库,但您应该可以执行以下操作:
Foo.order('REVERSE(name)')
上述内容适用于Postgres,也可以根据http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_reverse在MySQL中使用。