Laravel 5想要在模型

时间:2018-05-28 10:32:37

标签: laravel laravel-5

我想访问模型中当前登录的用户ID。所以在模型中,我编写了代码;

namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Auth;

在模型下的方法中,我使用了这段代码:Auth::user()->id 但是,我收到错误:

  

尝试获取非对象的属性

6 个答案:

答案 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();