【发布时间】:2015-10-13 01:54:23
【问题描述】:
我正在使用 Laravel 样板。我正在尝试获取已登录用户的user_id。我收到以下错误:
找不到类“App\Http\Controllers\Frontend\Auth”
来电了
$user = Auth::user();
然后我尝试使用以下方法获取 id:
$user->id
我错过了什么?
【问题讨论】:
我正在使用 Laravel 样板。我正在尝试获取已登录用户的user_id。我收到以下错误:
找不到类“App\Http\Controllers\Frontend\Auth”
来电了
$user = Auth::user();
然后我尝试使用以下方法获取 id:
$user->id
我错过了什么?
【问题讨论】:
你需要在控制器中使用 Auth 门面;
在类定义之前添加这一行。
use Auth;
【讨论】:
试试这个,
auth()->user()->id;
当你尝试使用$user = Auth::user(); 获取用户时,Laravel 会尝试从当前位置加载 Auth 类。在你的情况下,它是
'应用\Http\Controllers\前端'
所以 Laravel 正在 Frontend 目录中寻找 Auth 类,但它不在。这就是为什么你收到如下错误消息说未找到,
'找不到类'App\Http\Controllers\Frontend\Auth''
如果你使用use Auth; 方法,你必须在每个你要使用Auth 控制器的控制器中输入use Auth;。
您可以简单地将 Laravel 辅助函数用作 auth()->user(),而不是在每个控制器中输入 use Auth;。
从中您可以从数据库中获取任何值,例如:
auth()->user()->id
auth()->user()->f_name
【讨论】:
在类定义之前添加以下行
use Auth;
使用以下代码获取您当前的用户 ID:
$currentuserid = Auth::user()->id;
【讨论】: