我有两个表 user 和 technicien,在索引页面中有一对一的连接,我想在用户下显示他的电子邮件地址而不是他的 ID。请帮助我解决这个问题。这是我的代码(Model.user、Model.Technicien、index.blade.php)
和索引的屏幕截图。这可能会解释更多我想要做什么。谢谢你。
Model.user
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
public function technicien()
{
return $this->hasOne('App\technicien');
}
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email', 'password','nom','prenom','tel','mobil','role',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
模型.技术员
public function user()
{
return $this->belongsTo('App\User');
}
Controller
public function index()
{
$Listtechnicien=technicien::with(['user', 'zoneintervention'])->get();
return view('technicien.index',['technicien'=>$Listtechnicien]);
}
index.blade.php
@extends('Layouts.app')
@extends('Layouts.master')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10">
<h1>Liste Technicien Technicien </h1>
<div class="pull-right">
<a href="{{url('technicien/create')}}">Nouveau
technicien </a>
</div>
<table class="table">
<head>
<tr>
<th>Utilisateur</th>
<th>actif</th>
<th>moyenne_avis</th>
</tr>
</head>
<body>
@foreach($technicien as $technicien)
<tr>
<td>{{$technicien->user_id}}</td>
<td>{{$technicien->actif}}</td>
<td>{{$technicien->moyenne_avis}}</td>
<td>
<form action="{{url
('technicien/'.$technicien->id)}}" method="post">
{{csrf_field()}}
{{method_field('DELETE')}}
<a href="{{url('technicien/'.$technicien->id.'/show')}}" class="btn btn-default" class="btn btn-primary">Details</a>
<a href="{{url('technicien/'.$technicien->id.'/edit')}}" class="btn btn-default">Editer</a>
<button type="submit" class="btn btn-
danger">Supprimer</button>
</form>
</td>
</tr>
@endforeach
<script src="https://ajaxgoogleapiscom/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$(document).on('change','.tachemetier',function(){
console.long("hmm its change");
});
});
</script>
</body>
</div>
</div>
</div>
@endsection
最佳答案
在您的 Blade 文件中,更改
<td>{{$technicien->user_id}}</td>
至
<td>{{$technicien->user->email}}</td>
关于laravel - 如何显示用户的电子邮件而不是 id,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48951144/