【发布时间】:2017-03-02 07:52:28
【问题描述】:
有人可以帮我解决问题吗?
我正在 Laravel 中创建一个区域,用户可以在其中根据自己的角色登录。
使用工匠命令创建身份验证,到目前为止非常简单。
然后,我首先更改了数据库中表“用户”的表名和主键。 完成此操作后,需要更新用户模型(由 artisan 命令自动生成)并让模型知道“用户”表的确切位置以及该表的主键。
protected $table = 'users';
protected $primaryKey = 'userID';
在此之后,一旦我进入浏览器并进行正常登录,它就不允许我访问管理仪表板,并且我得到提示 trying to get a property of a non-对象。
这是因为一旦像我之前所做的那样更改了表和主键,'$this' 就不再在对象上下文中了。
我怎样才能让它工作?
用户.php:
class User extends Authenticatable
{
(...) public function isAdmin(){
if($this->roles->Role_Type == "Admin" && $this->is_active == 1){ //this one is the line 83 where the error is
return true;
}
return false;
}
(...)
}
【问题讨论】:
-
你试过
php artisan dump-autoload吗? -
我已经尝试过了,但问题仍然存在。实际使用:
composer dump-autoload -
你应该使用 artisan comman 代替。它清除 Laravel 编译的源代码。完整的异常消息是什么?
-
它告诉我命令未定义(命令“dump-autoload”未定义)。抱歉回复晚了
-
抱歉,没看到您使用的是 L5.3。是的,该命令已在 L5 中删除。但仍然:完整的异常消息是什么?
标签: php database laravel model