MENU

ソートの仕方

コントローラー側で記載
$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);
                }
            }
        }
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次