我想将数据从控制器传递到刀片视图。我想念什么?
控制器:
public function getRolesFront(){
$roles= Role::join(
'user_roles',
'roles.id',
'=',
'user_roles.role_id')
->join(
'users',
'user_roles.user_id',
'=',
'users.id')
->select(
'user_roles.id AS row_id',
'user_roles.user_id',
'roles.name AS name',
'roles.function AS function',
'users.name AS user_name',
'user_roles.role_id')
->orderBy('user_roles.user_id')
->get();
return view('users_view', compact($roles));
}
web.php
Route::get('/userslist','RoleController@getRolesFront');
刀片
<tr>
@foreach($roles as $role)
{{$role->role_id}}
@endforeach
</tr>
错误是:
未定义变量:角色(视图:C:\ laragon \ www \ ProjectoFinal \ resources \ views \ users_view.blade.php)
答案 0 :(得分:3)
使用压缩时,不要添加实际变量,而要添加代码中先前定义的变量的字符串名称。
所以,不是:
return view('users_view', compact($roles));
但是:
return view('users_view', compact('roles'));