在Kohana中按变量排序

时间:2014-05-02 10:43:45

标签: mysql kohana

我知道这是一个愚蠢的问题,但我想知道如何使用Kohana正确地将变量添加到order by,到目前为止,我有以下查询,其中我已将{I}想要的变量添加到{{ 1}}子句,这种方法很好但是当我为order_by应用相同的东西时它不起作用,我是否必须以不同的方式指定它?我只需要按变量排序,因为这些变量将被动态填充。

where

1 个答案:

答案 0 :(得分:1)

我猜您需要order_by

使用Database Expressions
$geoquery = DB::select('store_id', 'city')
            ->from('mytable')
            ->where('latitude', '>=', $latitude * .9)
            ->and_where('longitude', '<=', $longitude * 1.1)
            ->order_by(DB::Expr('ABS(`latitude` - 51.507202) + ABS(`longitude` - -0.223242))'))
            ->limit(1)
            ->execute('mytable');

根据文件

  

有些情况下您需要复杂的表达式或其他数据库   函数,您不希望查询生成器尝试和转义。   在这些情况下,您将需要使用创建的数据库表达式   使用DB :: expr。数据库表达式被视为直接输入而不是   执行转义