php - 在 laravel 5.3 中调用 null 的成员函数lists()

标签 php laravel

在 laravel 5.3 中,我尝试在“所有用户”页面(管理员/用户)中编辑注册用户,并为他们分配角色和权限。我使用了 laravel 5.2 pdf 书中的代码。但每当我点击用户进行编辑时。它会出现以下错误

FatalThrowableError in UsersController.php line 26: Call to a member function lists() on null.

public function edit($id)
{
    $user = User::whereId($id)->firstOrFail();
    $roles = Role::all();
    $selectedRoles = $user->roles->lists('id')->toArray();
    return view('backend.users.edit', compact('user', 'roles', 'selectedRoles'));
}

最佳答案

自 Laravel 5.3 起,lists() 函数已停止使用。您应该使用 pluck 来代替。

$selectedRoles = $user->roles->pluck('id');

关于错误: 您不能拥有特定用户的任何角色,因此会出现错误。

关于php - 在 laravel 5.3 中调用 null 的成员函数lists(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40521440/

相关文章:

javascript - window.open 在提交事件时请求浏览器的弹出权限

php - Laravel Blade 与 child 一起创建按钮

php - 缓存 API 用户凭据

php - Laravel 5.1 + PHPunit - API 测试总是返回无效参数错误

PHP链接点击计数器

php - 获取当前登录的 TYPO3 用户 (fe-user)

php - Laravel 6 - SQLSTATE[42000] : Syntax error or access violation: 1064 You have an error in your SQL syntax;

authentication - 没有用户数据库的 Laravel Auth::basic()

php - pdo 按数字选择行

php - 如何在 PHP 中显示上一页的 MySQL 结果?