用戶模式
public function roles()。
{
return $this-> belongsTo(User::class, 'role');
}
角色模型
public function users()
{
return $this->hasMany(Role::class, 'role_id')。
}
BLADE FILE
<tbody>
@foreach($users as $user)
<tr>
<td>{{$user-> name}}</td>
<td>{{$user->email}}</td>
<td>{{$user->country}}</td>
<td>{{$user->state}}</td>
<td>{{$user-> city}}</td>
<td>{{$user-> role_id}}</td>
<td>
<按鈕><a href="{route('edituser', $user->id)}}">EDIT</a></按鈕>
</td>
<td>
<按鈕 class="deleteuser" data-id="{$user-> id }}" data-token="{{ csrf_token() }}"> DELETE< /button>
</td>
</tr>
@endforeach
</tbody>
role_id是users表中的外鍵,請幫助我如何在顯示用戶串列時顯示角色名稱。
uj5u.com熱心網友回復:
你把定義User和Role模型之間的關系的方式顛倒了,應該是這樣的
class User extends Model {
public function role() {
return $this-> belongsTo(Role::class);
}
}
class Role extends Model{
public function users() {
return $this->hasMany(User::class)。
}
}
通過對用戶模型的這種定義,你應該在create_users_table遷移中定義一個role_id。
并且要顯示角色名稱,你可以這樣執行
@foreach($users as$user)
<tr>
{{--其他代碼放在這里--}}。
<td>{{ $user->role->name }}</td>
{{--其他代碼放在這里--}}。
</tr>
@endforeach
這假定一個用戶只能擁有一個單一的角色
uj5u.com熱心網友回復:在你的代碼中嘗試這些變化。我希望它能起作用
用戶模式
用戶模式 角色模型 用戶控制器 BLADE FILE
標籤:public function role() /span>{
return $this-> belongsTo(Role::class,'role_id') 。
}
public function users(){
return $this->hasMany(User::class, 'role_id')。
}
public function index(){
$users = User::with('role')-> get();
return $users。
}
<tbody>
@foreach($users as $user)
<tr>
<td>{{$user-> name}}</td>
<td>{{$user->email}}</td>
<td>{{$user->country}}</td>
<td>{{$user->state}}</td>
<td>{{$user-> city}}</td>
<td>{{$user-> role->name}}</td>
<td><按鈕><a href="{route('edituser', $user->id)}}">EDIT</a>
</button></td>
<td><按鈕 class="deleteuser" data-id="{{ $user-> id }}" data-token="
{{ csrf_token() }}" >DELETE</button> </td>
</tr>
@endforeach
</tbody>
