系统环境: LNMP+SYMFONY 1.4
因为最近项目的需要,需要用到排序,因为我使用的是doctrine来做数据库查询的.
- $reg = Doctrine_Core::getTable('lmsReg')
- ->createQuery('a')
- ->groupBy('a.reg_stamp')
- ->orderBy('a.reg_stamp DESC')
- ->fetchOne();
这个里面我需要对reg_stamp 降序,但是reg_stamp全部都是数字.
这个时候问题出来了.排序方式竟然是9 8 7 6 5 4 3 2 10 1;
正常应该是10 9 8 7 6 5 4 3 2 1;
这个我们必须把reg_stamp转换成数字来进行排序就正常了.
解决办法: 加0,对reg_stamp进行+0操作
- $reg = Doctrine_Core::getTable('lmsReg')
- ->createQuery('a')
- ->groupBy('a.reg_stamp')
- ->orderBy('a.reg_stamp+0 DESC')
- ->fetchOne();