コントローラー側で記載
$order_byを最終的にorder_byに渡しているため変数に入れてある
特定のカスタムソートをしたい場合
$order_by['flag_status_order'] = "CASE WHEN kanri_flag = '9' THEN 1 ELSE 0 END";
$order_by['project_id'] = 'desc';
モデル側にorder_byがある時にその要素名が〜〜だったら 今回’flag_status_order’
作成するクエリにDB::rawでflag_status_orderに入れてる値を($value)直接入れる
$query->orderBy(DB::raw($value), ‘asc’);
if (isset($args['order_by'])) {
foreach ($args['order_by'] as $key => $value) {
if ($key == 'flag_status_order') {
$query->orderBy(DB::raw($value), 'asc');
} else {
$query->orderBy($key, $value);
}
}
}
コメント