下記コード、テーブルでviews/depts/index.blade.php
でstaffs
テーブルのarea
で分けて以下のような表示で出力するにはどのようにしたらいいでしょうか?
部署1
東
- スタッフ1
- スタッフ2
西
- スタッフ3
- スタッフ4
部署2
東
- スタッフ5
- スタッフ6
西
- スタッフ7
- スタッフ8
よろしくお願いいたします。
テーブル
コード
php
1// Dept.php 2 3<?php 4 5namespace App; 6 7use Illuminate\Database\Eloquent\Model; 8 9class Dept extends Model 10{ 11 public $timestamps = false; 12 protected $table = 'depts'; 13 14 public function staffs() 15 { 16 return $this->hasMany('App\DeptStaff'); 17 } 18} 19
PHP
1// DeptStaff.php 2 3<?php 4 5namespace App; 6 7use Illuminate\Database\Eloquent\Model; 8 9class DeptStaff extends Model 10{ 11 public $timestamps = false; 12 protected $table = 'staff_depts'; 13 14 public function staff() 15 { 16 return $this->belongsTo('App\Staff'); 17 } 18} 19
PHP
1// Staff.php 2 3<?php 4 5namespace App; 6 7use Illuminate\Database\Eloquent\Model; 8 9class Staff extends Model 10{ 11 public $timestamps = false; 12 protected $table = 'staffs'; 13 14}
PHP
1// DeptController.php 2 3public function index() 4 { 5 $depts = Dept::all(); 6 return view('depts/index', [ 7 'depts' => $depts, 8 ]); 9 } 10
PHP
1// views/depts/index.blade.php 2 3@extends('layouts.app') 4 5@section('content') 6<div class="container"> 7 <div class="row justify-content-center"> 8 <div class="col-md-8"> 9 <table class="table table-condensed table-striped"> 10 <th>部署名</th> 11 <th>所属スタッフ</th> 12 <tbody id="sort_items"> 13 @foreach ($depts as $dept) 14 <tr id="item_{{ $dept->id }}" class="sort_item"> 15 <td>{{ $dept->name }}</td> 16 <td> 17 @foreach ($dept->staffs as $dept_staff) 18// ここでエリアごとにスタッフをわけたい 19 {{ $dept_staff->staff->name }} 20 @endforeach 21 </td> 22 </tr> 23 @endforeach 24 </tbody> 25 </table> 26 </div> 27 </div> 28</div> 29@endsection
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/01 07:13
2020/09/02 08:04
2020/09/02 08:07
2020/09/02 08:15
2020/09/02 08:17
2020/09/02 08:18 編集
2020/09/02 08:21