【发布时间】:2019-05-11 03:28:06
【问题描述】:
我想将所有用户和相关角色检索到 laravel 中的一个表中。但我无法继续,因为我收到了错误调用
这是我的控制器功能
public function index(){
if(Auth::user()->isAdmin==1){
$users = User::with('roles')->get();
return view('users', campact($users));
} else {
abort(403, 'Unauthorized action.');
}
}
这是我的用户模型的角色功能
public function roles()
{
return $this->belongsToMany(Role::class, 'role_users');
}
这是我的角色类的用户函数
public function users()
{
return $this->belongsToMany(User::class,'role_users');
}
这是我的数据表
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td>
<form method="post">
{{ csrf_field() }}
<div class="form-group">
<select class="form-control" data-id="{{$user->id}}" id="role" name="role">
<option value="0">Select a Role</option>
@foreach ($users->roles as $role)
<option value="{{ $role->id }}">{{ $role->name }}</option>
@endforeach
</select>
</div>
</form>
</td>
<td>{{ $user->created_at }}</td>
<td>{{ $user->updated_at }}</td>
<td><div class="form-group">
<form method="post" id="userActivate">
{{ csrf_field() }}
<label>
<input type="checkbox" class="flat-red isActive" data-id="{{$user->id}}" @if ($user->isActive) checked @endif>
</label>
</form>
</div>
</td>
<td>
<form id="userDelete" method="post" >
{{ csrf_field() }}
<button type="button" id="delete" data-id="{{$user->id}}" class="btn btn-block btn-danger btn-flat">Delete</button>
</form>
</td>
</tr>
@endforeach
请帮我解决这个问题。
【问题讨论】:
-
您想从
role_user表中检索什么? -
campact应该(我假设)是compact? -
请提供错误信息。你有
role_user表吗? -
campact 已更正为紧凑型。但同样的错误称为“未定义变量:用户(视图:/var/www/html/laravel/resources/views/users.blade.php)”
-
是的,我有角色用户表,我想检索与每个用户关联的角色
标签: php laravel many-to-many