Laravel7 2 Объединение таблиц со сложными данными

#laravel-7

Вопрос:

Я хочу показать данные из tbl_структуры с именем людей из tble_peple, но я не знаю, как к ним присоединиться. Я новичок на ларавеле.

моя структура tbl_

мой tble_peple

отображение данных

мой код на контроллере

 public function get_people(){
 $Showstructe= DB::table('tbl_structure')->orderby("name","asc")
 ->get();
 return view('admin.TestCustomer.structure_show',compact('Showstructe'));
}
 

мой код для отображения данных

 <table class="table table-bordered">
 <tr>
  <th>ID</th>
  <th>Structure</th>
  <th>Stage A</th>
  <th>Stage B</th>
  <th>Stage C</th>
  <th>Stage D</th>
  <th>Stage E</th>
  <th>Stage F</th>
</tr>
@foreach($Showstructe as $people)
<tr>
  <td>{{ $people->id }}</td>
  <td>{{ $people->name }}</td>
  <td>{{ $people->stage_a }}</td>
  <td>{{ $people->stage_b }}</td>
  <td>{{ $people->stage_c }}</td>
  <td>{{ $people->stage_d }}</td>
  <td>{{ $people->stage_e }}</td>
  <td>{{ $people->stage_f }}</td>
<tr>
@endforeach
</table>
 

Как показать людям имя, а не только идентификатор человека?

Ответ №1:

     public function get_people(){
     $Showstructe= DB::table('tbl_structure')->leftJoin('people as p', 'tbl_structure.id', '=', 'p.id')->select('p.name as peopleName')->orderby("name","asc")
     ->get();
     return view('admin.TestCustomer.structure_show',compact('Showstructe'));
    }


<table class="table table-bordered">
 <tr>
  <th>ID</th>
  <th>Structure</th>
  <th>Stage A</th>
  <th>Stage B</th>
  <th>Stage C</th>
  <th>Stage D</th>
  <th>Stage E</th>
  <th>Stage F</th>
</tr>
@foreach($Showstructe as $people)
<tr>
  <td>{{ $people->peopleName}}</td>
  <td>{{ $people->name }}</td>
  <td>{{ $people->stage_a }}</td>
  <td>{{ $people->stage_b }}</td>
  <td>{{ $people->stage_c }}</td>
  <td>{{ $people->stage_d }}</td>
  <td>{{ $people->stage_e }}</td>
  <td>{{ $people->stage_f }}</td>
<tr>
@endforeach
</table>