Phalcon使用queryBuilder按字符串值排序

时间:2018-12-17 10:32:05

标签: php phalcon

我想按标题值排序。这是一个字符串。但是,当我使用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'

1 个答案:

答案 0 :(得分:0)

这是对数字进行字符串排序的古老问题。您可以使用一些自定义SQL来强制字段按数字顺序排序(例如Volodymyr的注释),也可以更改数据库模式以使标题为数字。这两种解决方案仅在标题始终为数字的情况下才有效,我不知道您提供给我们的内容是否会如此。