我有User模型和Consulta模型,consulta模型有外键' user_id'在用户上引用id。
抱歉我的英语。我需要在user_id上显示列表中的用户名
模型用户
public function consultas()
{
return $this->hasMany('App\Consulta','user_id');
}
模型咨询
public function usuarios()
{
return $this->hasMany('User');
}
控制器,只有' $ registros'它的工作原理
$userteste = User::with('consultas')->get();
$registros = Consulta::all();
return view('consultas.index' , compact('registros','userteste'));
并查看
<table>
<thead>
<tr>
<th>Nome</th>
<th>Data</th>
<th>Hora</th>
<th>Situação</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
@foreach($registros as $registro)
@can('ver-consulta', $registro)
<tr>
<td>{{$registro -> user_id}} </td>
<td>{{$registro -> data}} </td>
<td>{{$registro -> hora}}</td>
<td>{{$registro -> situacao}} </td>
<td>
<a class="btn teal" href="/consultas/editar/{{$registro->id}}">
<i class="material-icons">local_printshop</i>
</a>
</td>
</tr>
@endcan
@endforeach
</tbody>
</table>
我需要&#39; user_id&#39;显示&#39;名称&#39;在表用户,而不是编号关闭id。 抱歉我的英文
in this case the results
nome = 1
I need in 'Nome' the name of user:
nome = luiz
答案 0 :(得分:1)
Larereciónenel modelo Consulta tiene que ser:
public function usuario()
{
return $this->belongsTo('User', 'user_id');
}
En el controller podes hacer:
$registros = Consulta::with('usuario')->get();
Y en la vista:
@foreach($registros as $registro)
<tr>
<td>{{ $registro->usuario->name }}</td>
</tr>
@endforeach
Es recomendable chequear siexisteracreciónantesde acceder a la propiedad:
{{ !is_null($registro->usuario) ? $registro->usuario->name : 'No user assigned' }}
答案 1 :(得分:0)
如果Consulta
属于User
// In Model Consulta
public function usuarios()
{
return $this->belongsTo(User::class);
}
// Controller
$registros = Consulta::with('usuarios')->get();
// View
<td>{{ $registro->usuarios->nome }}</td>
答案 2 :(得分:0)
用户模型
public function consultas()
{
return $this->hasMany('App\Consulta');
}
咨询模型
public function user()
{
return $this->belongsTo('App\User','user_id');
}
控制器
$registros = Consulta::all();
查看
@foreach(registros as registro)
<tr>
<td>{{ $registro->user->name }}</td>
</tr>
@endforeach