Home » Php » php – how to get current user id in laravel 5.4

php – how to get current user id in laravel 5.4

Posted by: admin April 23, 2020 Leave a comment

Questions:

I used this code in Laravel 5.4 to get the current logged in user id

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

but I receive “Null”

How to&Answers:

You may access the authenticated user via the Auth facade:

use Illuminate\Support\Facades\Auth;

// Get the currently authenticated user...

$user = Auth::user();

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

$id = Auth::id();

You may access the authenticated user via an 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. 
}

via the Auth helper function:

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

Answer:

You have to call user() method:

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

Or, if you want to get only the model:

$user = \Auth::user();

Answer:

Using Helper:

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

Using Facade:

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

Using DI Container:

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