Как выбрать реляционные данные в другой таблице по идентификатору в laravel - PullRequest
0 голосов
/ 28 марта 2019

У меня есть 3 таблицы, имя: пользователь, машина, обслуживание.эта схема как эта

* Пользователь

id |имя |электронная почта |пароль |создал_ат |updated_at

1 |Джон |A @ mail |******* и т. д.

* Машина

id |имя_машина |создал_ат |updated_at

1 |шок |..... и т.д.

* Обслуживание

id |Machine_id |user_id |вопрос |статус |создал_ат |updated_at

1 |......... 1 ........ | ....... 1 ...... |Blablabla и т.д ..

теперь я хочу показать данные в таблице "Maintance" с указанием данных "name" (таблица пользователя) и name_machine (таблица машины) по id.

thisмой контроллер и мое представление

 public function show($id)
{
    $maintance = Maintance::all();
    return view('users.view',['maintance' => $maintance]);
}

мое представление

<table class="table table-hover">
              <tbody><tr>
                <th>Machine</th>
                <th>Question</th>
                <th>User Input</th>
                <th>Action</th>
                <th>Tanggal</th>
              </tr>
              @foreach ($maintance as $i)
              <tr>
                <td>{{ $i->machine_id}} </td>// i want to show name machine here
                <td>{{ $i->Question}}</td>
                <td>{{ $i->user_id}}</td> // name users to 
                <td><span class="label label-primary">Lihat Data</span></td>
                <td>{{ $i->created_at}}</td>
              </tr>
              @endforeach
            </tbody></table>

это представление данных не имеет ошибки, но я не знаю, как показать эти данные из другой таблицы.может кто-нибудь помочь?

1 Ответ

0 голосов
/ 28 марта 2019

При условии, что ваша Maintance модель ниже,

public function user(){
  return $this->belongsTo(User::class);
}
public function machine(){
  return $this->belongsTo(Machine::class);
}

при условии, что ваша Модель имеет эти вышеприведенные отношения.

и выполните следующие действия, чтобы получить свои данные,

$maintance = Maintance::with(['user','machine'])->get();

и по вашему мнению

<table class="table table-hover">
          <tbody><tr>
            <th>Machine</th>
            <th>Question</th>
            <th>User Input</th>
            <th>Action</th>
            <th>Tanggal</th>
          </tr>
          @foreach ($maintance as $i)
          <tr>
            <td>{{ $i->machine->machine_name}} </td>// i want to show name machine here
            <td>{{ $i->Question}}</td>
            <td>{{ $i->user->name}}</td> // name users to 
            <td><span class="label label-primary">Lihat Data</span></td>
            <td>{{ $i->created_at}}</td>
          </tr>
          @endforeach
        </tbody></table>
...