控制器中的Laravel Auth用户ID

Joe*_*Joe 11 php laravel laravel-5

我正在使用Laravel样板.我正在尝试获取user_id已签名的用户.我收到以下错误:

未找到类'App\Http\Controllers\Frontend\Auth'

这是电话

$user = Auth::user();
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用以下内容获取id:

$user->id
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Amm*_*adu 15

您需要在控制器中使用Auth外观;

在类定义之前添加此行.

use Auth;
Run Code Online (Sandbox Code Playgroud)


Kar*_*hik 8

在类定义之前添加以下行

use Auth;
Run Code Online (Sandbox Code Playgroud)

使用以下代码获取您当前的用户 ID:

$currentuserid = Auth::user()->id;
Run Code Online (Sandbox Code Playgroud)

  • 令人难以置信的答案!谢谢! (3认同)

Kav*_*ath 5

尝试这个,

auth()->user()->id;
Run Code Online (Sandbox Code Playgroud)

当您尝试通过使用$user = Auth::user();laravel 获取用户时,尝试从当前位置加载Auth类。在你的情况下

'App \ Http \ Controllers \ Frontend'

因此Laravel在Frontend目录中寻找Auth类,而该目录不在其中。这就是为什么您收到以下错误消息的原因:

'找不到类'App \ Http \ Controllers \ Frontend \ Auth'

如果使用use Auth;method,则必须输入use Auth;要使用Auth控制器的每个控制器。

不必输入use Auth;每个控制器,您只需将Laravel helper函数用作即可auth()->user()

从中,您可以从数据库中获取任何值,例如

auth()-> user()-> id

auth()-> user()-> f_name