Kohana Database Query Builder自定义排序顺序(MySQL中的“ORDER BY Field(id,1,3,2)”)

问题描述 投票:4回答:1

我有一组要选择的ID,所以我要求:

$ids = array( 1, 2, 3, 4, 5 );
$q = DB::select('field1', 'field2', 'field3')->
     from('work')->
     where('field1', 'in', $ids)->execute();

我如何按照我的自定义顺序对它们进行排序,比如MySQL的“ORDER BY Field”呢?

sql-order-by kohana builder
1个回答
7
投票

看看DB::Expr

您可以像这样使用它:

->order_by(DB::Expr('FIELD(`field`, 3,1,2)'))

请注意,您必须手动转义内容

© www.soinside.com 2019 - 2024. All rights reserved.