我想访问模型中当前登录的用户ID。所以在模型中,我编写了代码;
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Auth;
在模型下的方法中,我使用了这段代码:Auth::user()->id
但是,我收到错误:
尝试获取非对象的属性
答案 0 :(得分:2)
首先,您需要检查用户是否已记录,然后检查ID
if (Auth::check()) {
//there is a user logged in, now to get the id
Auth::user()->id
}
答案 1 :(得分:1)
要检索您必须使用的ID:
Auth::id()
可以像尝试
一样访问其他用户属性Auth::user()->otherProperties
答案 2 :(得分:1)
use Illuminate\Support\Facades\Auth;
//获取当前经过身份验证的用户...
$user = Auth::user();
//获取当前经过身份验证的用户ID ...
$id = Auth::id();
答案 3 :(得分:0)
您必须登录才能获得当前登录的用户。
在使用之前尝试检查登录用户
if (Auth::user()) { // Check is user logged in
// do stuff
}
答案 4 :(得分:0)
您可以轻松登录模型中的用户ID。试试下面的代码。它工作得很完美。
app('Illuminate\Contracts\Auth\Guard')->user()->id;
答案 5 :(得分:0)
Auth :: user()仅检查Web Guard。您可能正在使用API进行尝试。这将为您提供用户:
$user = \Auth::user() ?? \Auth::guard("api")->user();