我想按标题值排序。这是一个字符串。但是,当我使用Phalcon查询生成器的orderBy()方法时,数组未正确排序,例如“ -1,-2,-3,-10,-11,-12”。还有其他使用生成器订购字符串的方法吗?
$Query = Options::query()->orderBy('title')->execute();
我不按标题排序的数组:
array
0 =>
array
'id' => string '1'
'title' => string '-1'
1 =>
array
'id' => string '2'
'title' => string '-10'
2 =>
array
'id' => string '3'
'title' => string '-11'
3 =>
array
'id' => string '4'
'title' => string '-2'
4 =>
array
'id' => string '5'
'title' => string '-3'
5 =>
array
'id' => string '6'
'title' => string '-12'
答案 0 :(得分:0)
这是对数字进行字符串排序的古老问题。您可以使用一些自定义SQL来强制字段按数字顺序排序(例如Volodymyr的注释),也可以更改数据库模式以使标题为数字。这两种解决方案仅在标题始终为数字的情况下才有效,我不知道您提供给我们的内容是否会如此。