Zend Framework的顺序是最后提升空值

时间:2014-01-29 12:04:16

标签: mysql zend-framework

我的订单条款我想做一些像

这样的事情
select MyDate
from MyTable
order by case when MyDate is null then 1 else 0 end, MyDate

我该怎么写

order by case when MyDate is null then 1 else 0 end, MyDate

在Zend 我已经尝试了

->order('by case when MyDate is null then 1 else 0 end', 'MyDate')

建议?

2 个答案:

答案 0 :(得分:1)

很高兴为我们提供错误消息或echo $select,以便我们可以看到问题所在。

试试这个:

->order(new Zend_Db_Expr('case when MyDate is null then 1 else 0 end, MyDate'));

传递Zend_Db_Expr对象始终将其置于查询中“原样”,无需修改。

答案 1 :(得分:1)

按照我在本文MySQL Orderby a number, Nulls last上找到的内容,这可能适合您:

->order(new Zend_Db_Expr("-MyDate DESC"));