如何在laravel 5.4中获取当前用户ID

时间:2017-08-05 13:24:08

标签: php laravel laravel-5

我在Laravel 5.4中使用此代码来获取当前登录的用户ID

    $id = User::find(Auth::id());
    dd($id);

但我收到“Null”

3 个答案:

答案 0 :(得分:25)

您必须致电user()方法:

$id = \Auth::user()->id;

或者,如果您只想获得模型:

$user = \Auth::user();

答案 1 :(得分:17)

您可以通过Auth外观访问经过身份验证的用户:

use Illuminate\Support\Facades\Auth;

// Get the currently authenticated user...

$user = Auth::user();

// Get the currently authenticated user's ID...

$id = Auth::id();

您可以通过Illuminate \ Http \ Request访问访问身份验证的用户

use Illuminate\Http\Request;
public function update(Request $request)
{
     $request->user(); //returns an instance of the authenticated user...
     $request->user()->id; // returns authenticated user id. 
}

通过Auth helper功能:

auth()->user();  //returns an instance of the authenticated user...
auth()->user()->id ; // returns authenticated user id. 

答案 2 :(得分:5)

使用助手:

auth()->user()->id ;   // or get name - email - ...

使用外观:

\Auth::user()->id ;   // or get name - email - ...

使用DI容器:

use Illuminate\Auth\AuthManager;
class MyClass
{
    private $authManager;
    public __construct(AuthManager $authManager)
    {
        $this->authManager = $authManager;
    }
}
相关问题