回答編集履歴
5
追記
    
        answer	
    CHANGED
    
    | @@ -41,4 +41,17 @@ | |
| 41 41 | 
             
            書き換えたら、ブラウザで問題のページにアクセスし、プログラムを動かして下さい。
         | 
| 42 42 | 
             
            そうすると、storage/logs/下にlaravel.logが生成されているはずですので、中身を確認して下さい。
         | 
| 43 43 | 
             
            必要なデータが有り、ちゃんとリレーションが設定できていれば、$employees->first()->deptの結果がログに出力されているはずです。
         | 
| 44 | 
            -
            私が示したソースのパターン以外にも、色んな値のとり方を試みれば、うまくいかない原因に近づけるかと思います。
         | 
| 44 | 
            +
            私が示したソースのパターン以外にも、色んな値のとり方を試みれば、うまくいかない原因に近づけるかと思います。
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            # 追記2
         | 
| 47 | 
            +
            [https://github.com/dyoshikawa/teratail-131441](https://github.com/dyoshikawa/teratail-131441)
         | 
| 48 | 
            +
             | 
| 49 | 
            +
            サンプルコード書いてみたのでご参考になればと思います。
         | 
| 50 | 
            +
            動かす場合は、
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            ```
         | 
| 53 | 
            +
            php artisan migrate
         | 
| 54 | 
            +
            php artisan db:seed
         | 
| 55 | 
            +
            ```
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            を実行した後、サーバー起動してトップページを見て下さい。
         | 
4
修正
    
        answer	
    CHANGED
    
    | @@ -32,6 +32,7 @@ | |
| 32 32 | 
             
            {
         | 
| 33 33 | 
             
                $employees = Employee::all();
         | 
| 34 34 | 
             
                logger($employees);
         | 
| 35 | 
            +
                logger($employees->first());
         | 
| 35 36 | 
             
                logger($employees->first()->dept);
         | 
| 36 37 | 
             
                return view('employee.belongsto',compact('employees'));
         | 
| 37 38 | 
             
            }
         | 
| @@ -39,5 +40,5 @@ | |
| 39 40 |  | 
| 40 41 | 
             
            書き換えたら、ブラウザで問題のページにアクセスし、プログラムを動かして下さい。
         | 
| 41 42 | 
             
            そうすると、storage/logs/下にlaravel.logが生成されているはずですので、中身を確認して下さい。
         | 
| 42 | 
            -
            必要なデータが有り、ちゃんとリレーションが設定できていれば、$employees->deptの結果がログに出力されているはずです。
         | 
| 43 | 
            +
            必要なデータが有り、ちゃんとリレーションが設定できていれば、$employees->first()->deptの結果がログに出力されているはずです。
         | 
| 43 44 | 
             
            私が示したソースのパターン以外にも、色んな値のとり方を試みれば、うまくいかない原因に近づけるかと思います。
         | 
3
修正
    
        answer	
    CHANGED
    
    | @@ -32,7 +32,7 @@ | |
| 32 32 | 
             
            {
         | 
| 33 33 | 
             
                $employees = Employee::all();
         | 
| 34 34 | 
             
                logger($employees);
         | 
| 35 | 
            -
                logger($employees->dept);
         | 
| 35 | 
            +
                logger($employees->first()->dept);
         | 
| 36 36 | 
             
                return view('employee.belongsto',compact('employees'));
         | 
| 37 37 | 
             
            }
         | 
| 38 38 | 
             
            ```
         | 
2
追記
    
        answer	
    CHANGED
    
    | @@ -20,4 +20,24 @@ | |
| 20 20 | 
             
            @endforeach
         | 
| 21 21 | 
             
            ```
         | 
| 22 22 |  | 
| 23 | 
            -
            こちらのViewで$employeesに値が入っているか確認してみて下さい。
         | 
| 23 | 
            +
            こちらのViewで$employeesに値が入っているか確認してみて下さい。
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            # 追記
         | 
| 26 | 
            +
            Laravelのlogger機能を使ってデバッグしてみて下さい。
         | 
| 27 | 
            +
            まず、storage/logs/laravel.logを削除して下さい(すでに大量のログがあるはずで、これからのデバッグ結果が見づらいため)。
         | 
| 28 | 
            +
            続いて、controllerを次のような感じに書いてみて下さい。
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            ```
         | 
| 31 | 
            +
            function index()
         | 
| 32 | 
            +
            {
         | 
| 33 | 
            +
                $employees = Employee::all();
         | 
| 34 | 
            +
                logger($employees);
         | 
| 35 | 
            +
                logger($employees->dept);
         | 
| 36 | 
            +
                return view('employee.belongsto',compact('employees'));
         | 
| 37 | 
            +
            }
         | 
| 38 | 
            +
            ```
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            書き換えたら、ブラウザで問題のページにアクセスし、プログラムを動かして下さい。
         | 
| 41 | 
            +
            そうすると、storage/logs/下にlaravel.logが生成されているはずですので、中身を確認して下さい。
         | 
| 42 | 
            +
            必要なデータが有り、ちゃんとリレーションが設定できていれば、$employees->deptの結果がログに出力されているはずです。
         | 
| 43 | 
            +
            私が示したソースのパターン以外にも、色んな値のとり方を試みれば、うまくいかない原因に近づけるかと思います。
         | 
1
修正
    
        answer	
    CHANGED
    
    | @@ -1,7 +1,23 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            すみません、最初の回答誤っていたので忘れて下さい。
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 3 | 
            +
            まず、
         | 
| 4 | 
            -
             | 
| 4 | 
            +
             | 
| 5 5 | 
             
            ```
         | 
| 6 | 
            +
            function index()
         | 
| 7 | 
            +
            {
         | 
| 8 | 
            +
                $employees = Employee::all();
         | 
| 9 | 
            +
                return view('employee.belongsto',compact('employees'));
         | 
| 10 | 
            +
            }
         | 
| 11 | 
            +
            ```
         | 
| 6 12 |  | 
| 13 | 
            +
            こちらのControllerの段階で$employeesに本当に値が入っているか確認してみて下さい。
         | 
| 14 | 
            +
            値が入っていたら、
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            ```
         | 
| 17 | 
            +
            @foreach($employees as $employee)
         | 
| 18 | 
            +
                <p>{{ $employee->dept->dept_name }}</p>
         | 
| 19 | 
            +
                <p>{{ $employee->name }}</p>
         | 
| 7 | 
            -
             | 
| 20 | 
            +
            @endforeach
         | 
| 21 | 
            +
            ```
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            こちらのViewで$employeesに値が入っているか確認してみて下さい。
         | 
