Пользовательский порядок сортировки Database Query Builder («Поле ORDER BY (id, 1, 3, 2)» в MySQL) - PullRequest
4 голосов
/ 24 февраля 2011

У меня есть набор идентификаторов для выбора, поэтому я запрашиваю:

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

Как мне отсортировать их в моем произвольном порядке, как это делает MySQL 'ORDER BY Field'?

1 Ответ

7 голосов
/ 24 февраля 2011

Оформить DB :: Expr

Вы можете использовать его так:

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

Обратите внимание, вам придется вручную экранировать содержимое

...