knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

Laravel 5.8 で、モデル結合など

index:

概要:

前の Laravel 5.8 関係で、
Eloquent の外部結合等です

modelアソシエーションでなく。
画面の、実行時に結合する形となります。

環境

php7.3
Laravel 5.8
mysql

準備など

・表の作成
 Member, Dept

コントローラ

https://github.com/kuc-arc-f/lara58a_2/blob/master/app/Http/Controllers/MembersController.php

・members.dept_id 、depts.id で結合します。

  • >join() で結合しています。
  • >leftJoin() とかも、可能のようです。
        $members = Member::select([
                    'members.id',
                    'members.dept_id',
                    'members.name',
                    'depts.name as dept_name',
                ])
                ->join('depts','depts.id','=','members.dept_id')
                ->paginate(5);

参考のコード

github.com