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

时间:2019-07-02 20:52:20

标签: php laravel laravel-blade

我想将数据从控制器传递到刀片视图。我想念什么?

控制器:

    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)

1 个答案:

答案 0 :(得分:3)

使用压缩时,不要添加实际变量,而要添加代码中先前定义的变量的字符串名称。

所以,不是

return view('users_view', compact($roles));

但是:

return view('users_view', compact('roles'));