【Laravel】リレーションで取得した複数のアイテムを並べ替えるには?

リレーションで取得した複数のアイテムを並べ替えるには、Eloquentリレーションを使用することができます。具体的には、リレーションメソッドを呼び出し、その後にorderByメソッドをチェーンして並び替えを行います。

以下に、リレーションで取得した複数のアイテムを並べ替える基本的な方法を示します。例として、UserモデルがPostモデルとの1対多のリレーションを持つ場合を考えます。ユーザーの投稿を作成日時の降順で並び替える例です:

$user = User::find($userId); // 特定のユーザーを取得

// ユーザーの投稿を作成日時の降順で並び替え
$posts = $user->posts()->orderBy('created_at', 'desc')->get();

上記のコードでは、$user変数に対してposts()メソッドを呼び出し、それに続けてorderByメソッドを使ってcreated_atカラムを降順で並び替えています。最終的に、get()メソッドで結果を取得しています。

このようにして、リレーションを使用して取得した複数のアイテムを並び替えることができます。リレーションに対してorderByメソッドを使えば、特定の順序で結果を取得できます。