Laravel の「One of Many」を使って最新と最高を取る方法

今回は、LaravelのOne of Manyを使って、最新と最高のデータを取得する方法についてご紹介します。

リレーションシップはpostとcommentの関係を作ることにします。そのため、新しいプロジェクトを作成し、このプロジェクトでマイグレーションとシーダーファイルをそれぞれ設定することにします。

以下のコメントは、マイグレーションファイルとシーダーファイルの作成を同時に使用することができます。

php artisan make:model Post -ms
php artisan make:model Comment -ms

マイグレーションを変更

ファイル __create_posts_table に name カラムを追加する。

ファイル __create_comment_table にcommentと post_idカラムを追加する。

続いて、post とcomemntテーブルにテストするためSeederファイルを作ります。

postテーブルため

commentテーブルため

最後は、作成したファイルをDatabaseSeeder.phpにセットします。

続いて、今から「One of Many」の設定をしましょう!

今回は最初のidだけを使ってますが、他のことにも同じようにできます。

post id 1の最新コメントを取得しましょう!

呼び出し方は

このように設定すると、結果は

データベースにも、コメントID10が最後となります。

次は

post id 1の最高コメントを取得しましょう!

今回はOfManyを使います。

以下のように呼び出します。

すると、結果は

データベースにも、96が一番高いコメント点のデータなので、Ok となります。

ということで今回は以上になります。

最後までご高覧頂きまして有難うございました。

By Ami



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム