Laravel 6でのデータの並び替え方法(OrderBy)


メソッドを使用します。以下に、いくつかの方法とそれぞれのコード例を示します。

  1. 単一のカラムでの並び替え:

    $posts = App\Post::orderBy('created_at', 'desc')->get();

    上記の例では、created_atカラムを降順で並び替えています。descは降順を意味します。ascを指定すると昇順になります。

  2. 複数のカラムでの並び替え:

    $posts = App\Post::orderBy('category_id', 'asc')->orderBy('created_at', 'desc')->get();

    上記の例では、まずcategory_idカラムで昇順に並び替え、その後にcreated_atカラムで降順に並び替えています。

  3. 関連するモデルのカラムでの並び替え:

    $posts = App\Post::with('category')->orderBy('categories.name', 'asc')->get();

    上記の例では、PostモデルとCategoryモデルが関連付けられており、categoriesテーブルのnameカラムで昇順に並び替えています。

  4. リレーション先のカウントでの並び替え:

    $posts = App\Post::withCount('comments')->orderBy('comments_count', 'desc')->get();

    上記の例では、PostモデルとCommentモデルが関連付けられており、commentsテーブルのレコード数で降順に並び替えています。

これらは一部の例ですが、Laravel 6にはさまざまなデータの並び替え方法があります。使用するデータベースや要件に応じて、適切な方法を選択してください。詳細な情報はLaravelの公式ドキュメントを参照してください。