DESC とか ASC でソートじゃ物足りない時。
テーブル名.フィールド名が[2]の時、4番目
テーブル名.フィールド名が[0]の時、2番目
テーブル名.フィールド名が[3]の時、1番目
その他の時、3番目
のような並び順にしたい。↓
$query->order(function ($exp, $q) {
return $exp->addCase(
[
$q->newExpr()->eq('テーブル名.フィールド名', 2),
$q->newExpr()->eq('テーブル名.フィールド名', 0),
$q->newExpr()->eq('テーブル名.フィールド名', 3),
],
[4, 2, 1, 3],
['integer', 'integer', 'integer', 'integer']
);