无法访问模型中的身份验证状态

时间:2018-01-19 01:32:33

标签: php laravel laravel-eloquent

我正试图在模型上访问我的身份验证状态,我使用了一个雄辩的变异器来为我的模型添加一个字段。

//use Illunimate\Facades\Support\Auth;
protected $appends = ['value'];

public function getValueAttribute(){ return Auth::user()->id()}

那是代码, 但即使登录

,它也会返回false

3 个答案:

答案 0 :(得分:0)

你以错误的方式编写代码。你错过了用户(),然后在id之后使用括号,你的代码必须是这样的:

public function getValueAttribute(){ return Auth::user()->id;}

答案 1 :(得分:0)

Corrected version of your code
public function getValueAttribute(){ return Auth::user()->id}

from your view you could check first to avoid crashes :
if (Auth::check()) {
    // The user is logged in...
 {{Auth::user()->id}}
}else{
 // The user is NOT logged in...
}

答案 2 :(得分:0)

您的代码似乎正确,但缺少; 所以试试这个

use Illuminate\Support\Facades\Auth;

public function getValueAttribute(){ return Auth::user()->id();}

如果这不起作用,请尝试php artisan make:auth然后php artisan migrate 这将重置身份验证和迁移。 希望这有帮助