今天我有一个特定的“问题”要用Kohana(3.3)orm order_by方法来解决。 我需要重写order_by()方法来接受类似的东西:
->order_by("IF(ISNULL(foo) OR foo = '', 1, 0), foo", "ASC")
(此条件将所有空值放在查询结果的末尾)。 但是,orm用“`”来逃避查询,然后就无法工作了。
ORDER BY `IF(ISNULL(foo) OR foo = "", 1, 0), foo` ASC
我可以使用DB :: query()挂载此查询,但我需要在我的系统上的所有order_by查询中使用该条件。
答案 0 :(得分:2)
尝试DB :: expr(),它的工作
->order_by(DB::expr("IF(ISNULL(foo) OR foo = '', 1, 0), foo"), "ASC")