itLinkedInPocketCopyこんにちは。今回はEloquentのリレーションを使用して関連するテーブルの最新の1件を取得する方法を解説していきます。アプリケーションの要件として以下のようなものが出てきたときに役に立ちます。ユーザーの最新の購入商品を表示する記事に対する最新のコメントを表示するこういった要件は意外と多いですよね。SQLで実現しようとすると副問合せを駆使して実装することになるのですが、Eloquentを使うと簡単な記述で実装することができます。それでは見ていきましょう。関連やりたいことユーザーが最も最近購入した商品を取得します。テーブル構成を説明します。usersとordersに分かれており、orderにはuserの商品購入履歴が登録されています。2つのテーブルはuserのidで関連付けることができます。Bordersテーブル実装するordersテーブルを作るまずはordersテーブルをマイグレーションで作成します。});}テーブルができたら冒頭で記述したデータを作成しておきます。Eloquentモデルを作るテーブルができたらEloquentモデルを作成します。Userモデルはインストール時から存在しますので、Orderモデルのみ作成します。successfully.リレーションを張るUserモデルにリレーションを作成します。最新の「1件」を取得するためhasOneを指定します。その次に、「最新」のレコードを取得するためlatestOfManyをチェーンでつなげて指定します。}使ってみる作成したモデルを使ってユーザーの最新の購入を取得してみましょう。tinkerを使用して実行します。id=1のユーザーをfindメソッドで取得し、LatestOrderをチェーンで指定します。すると、id=1のユーザーの最新の購入が取得できます。}まとめいかがでしょうか。最新の1件を簡単に取得することができました。クエリビルダで同じことをしようとすると、副問合せを使う必要がありかなり面倒ですが、Eloquentで作ると簡単ですね。この他にも「最も古い1件」や「購入金額が最も大きい1件」なども同じように実装することができます。Manyの部分を参照してください。【Laravel】ルートモデル結合で404が出る原因こんにちは。今回はルートモデル結合で404が出る原因を解説します。...【Laravel】複数のチャネルにログを出力するこんにちは。今回はLaravelで複数のチャネルにログ出力する方法を解説します。今回は、ルーティングに備わっている便利機能を解説します。...【Laravel】初心者の方は絶対覚えて!Eloquentデータ取得処理まとめこんにちは。今回はEloquentの取得系処理メソッドをまとめてみました。コンポーネントにHTMLを埋め込むslotの作り方こんにちは。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。一覧画面に検索条件、フィルターを設置するこんにちは。モデルの準備と一覧表示画面こんにちは。Filamentのインストール手順こんにちは。UncategorizedWindowsにComposer2をインストールする方法こんにちは。