我在Laravel 5.4中使用此代码来获取当前登录的用户ID
$id = User::find(Auth::id());
dd($id);
但我收到“Null”
答案 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 - ...
use Illuminate\Auth\AuthManager;
class MyClass
{
private $authManager;
public __construct(AuthManager $authManager)
{
$this->authManager = $authManager;
}
}