我有3个表,名称是:用户,机器,维护。这样的模式
*用户
id |名称|电邮|密码created_at | Updated_at
1 |约翰| A @ mail | *******等
*机器
id | name_machine | created_at | Updated_at
1 |震撼.....等
*维护
id | Machine_id | user_id |问题状态| created_at | Updated_at
1 | ......... 1 ........ | ....... 1 ...... | blablabla等..
现在我想在表“ Maintance”上显示数据,并通过id显示数据“名称”(用户表)和name_machine(“机器表”)。
这是我的控制者和我的观点
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>
此视图数据没有错误,但我不知道如何从不同的表中显示此数据。有人可以帮忙吗?
答案 0 :(得分:0)
假设您的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>