控制器中的 Laravel Auth 用户 ID

新手上路,请多包涵

我正在使用 Laravel 样板。我正在尝试获取已登录用户的 user_id 。我收到以下错误:

找不到类“App\Http\Controllers\Frontend\Auth”

这是电话

$user = Auth::user();

然后我尝试使用以下方法获取 id:

 $user->id

我错过了什么?

原文由 Joe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 365
2 个回答

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

在类定义之前添加这一行。

 use Auth;

原文由 Ammadu 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试这个,

 auth()->user()->id;

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

‘应用\Http\控制器\前端’

所以 Laravel 正在 Frontend 目录中寻找 Auth 类,而 Frontend 目录不在。这就是为什么你收到错误消息说找不到,如下所示,

‘找不到类 ‘App\Http\Controllers\Frontend\Auth”

如果您使用 use Auth; 方法,则必须在要使用 Auth 控制器的每个控制器中键入 use Auth;

无需在每个控制器中键入 use Auth; ,您只需使用 Laravel 辅助函数 auth()->user()

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

 auth()->user()->id

auth()->user()->f_name

原文由 Kavinda Prabhath 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏