首页 > 解决方案 > 将数据从控制器传递到刀片视图

问题描述

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

控制器:

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

网页.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)

标签: phplaravellaravel-blade

解决方案


使用 compact 时,不要添加实际变量,而是添加之前在代码中定义的变量的字符串名称。

所以,不是

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

反而:

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

推荐阅读