将数据从控制器传递到刀片视图

问题描述:

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'));