我正在使用 Laravel 样板。我正在尝试获取已登录用户的 user_id
。我收到以下错误:
找不到类“App\Http\Controllers\Frontend\Auth”
这是电话
$user = Auth::user();
然后我尝试使用以下方法获取 id:
$user->id
我错过了什么?
原文由 Joe 发布,翻译遵循 CC BY-SA 4.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 许可协议
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
1 回答1.2k 阅读
您需要在控制器中使用 Auth facade;
在类定义之前添加这一行。