将数据从控制器传递到刀片视图
问题描述:
I want to pass data from my controller to blade view. What am I missing?
Controller:
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');
blade
<tr>
@foreach($roles as $role)
{{$role->role_id}}
@endforeach
</tr>
the error is:
Undefined variable: roles (View: C:\laragon\www\ProjectoFinalesources\views\users_view.blade.php)
我想将数据从我的控制器传递到刀片视图。 我缺少什么? p>
控制器: p>
public function getRolesFront(){
$ roles = Role :: join(
'user_roles',
'colords.id',
'=',
'user_roles.role_id')
- &gt; join(
'users',
'user_roles.user_id',\ n'=',
'users.id')
- &gt;选择(
'user_roles.id AS row_id',
'user_roles.user_id',
'colights.name AS name',
'roles.function AS function',
'users.name AS user_name',
'user_roles.role_id')
- &gt; orderBy('user_roles.user_id')
- &gt; get();
返回视图('users_view',compact($ roles));
}
code> pre>
web.php p>
路线::得到( '/ userslist', 'RoleController @ getRolesFront');
代码> PRE>
叶片 p>
&lt; tr&gt;
@foreach($ roles as $ role)
{{$ role-&gt; role_id}}
@endforeach
&lt; / tr&gt;
code> pre >
错误是: p>
未定义的变量: 角色(查看:C:\ laragon \ www \ ProjectoFinal
esources \ views \ users_view.blade.php) p>
blockquote>
div>
答
When using compact, don't add the actual variable, but rather the string name of the variable that was defined previously in code.
So, not:
return view('users_view', compact($roles));
but rather:
return view('users_view', compact('roles'));