この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:4
ページ更新者:atom
更新日時:2026-05-13 03:04:40

タイトル: order by句のキャスト
SEOタイトル: Laravelにおけるorder by句のキャスト

この記事の要点
  • Laravel クエリビルダの order byカラムをキャストして並び替える方法
  • 基本: orderByRaw("CAST(col AS signed) DESC") で raw SQL を埋め込む
  • 数値が文字列カラムに入っている場合に"10" < "2" 等の文字列ソート問題を回避できる
  • PostgreSQL なら CAST(col AS integer)、Oracle なら TO_NUMBER(col)

 

本稿はLaravelのクエリビルダーのorder by句をキャストする方法を説明します。

 

前提

文字列カラム(colA)を数値としてキャストしたい。

 

キャスト例

        $tweets = DB::table('test_table')
                ->orderByRaw('
CAST(test_table.colA AS signed) DESC')
                ->get();