【发布时间】:2015-03-25 11:47:21
【问题描述】:
我正在研究 Fuel Framework,我需要使用 order_by title 构建查询,即 varchar 但其中大部分是数字。
我需要按真正的数字顺序对其进行排序。
所以我想使用"CAST(title as SIGNED INTEGER) ASC"。
Fuel ORM 中存在问题。
我在文档中看不到 order_by 中有关 CAST 的任何信息。
你知道我想说什么吗? :D 你能帮帮我吗?
【问题讨论】:
-
尝试使用
DB::expr()而不是纯字符串。 fuelphp.com/dev-docs/classes/database/db.html#/method_expr 不确定它是否会起作用,因为据我所知,它不尊重表别名。 -
工作!谢谢,巴塔。对于那些阅读本文的人,我的查询如下所示:
$dat['photos'] = Model_Photo::find('all', array('where' => array('gallery_id' => $id), 'expr' => 'CAST(title as SIGNED INTEGER) ASC')); -
那就是答案:)
标签: mysql sql sql-order-by fuelphp