我知道这是一个愚蠢的问题,但我想知道如何使用Kohana正确地将变量添加到order by
,到目前为止,我有以下查询,其中我已将{I}想要的变量添加到{{ 1}}子句,这种方法很好但是当我为order_by应用相同的东西时它不起作用,我是否必须以不同的方式指定它?我只需要按变量排序,因为这些变量将被动态填充。
where
答案 0 :(得分:1)
我猜您需要order_by
$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。数据库表达式被视为直接输入而不是 执行转义