【发布时间】:2018-03-26 16:11:34
【问题描述】:
这是我拥有存储功能的控制器
公共功能存储(请求 $request) { $artisan = Artisan::create($request->all() + ['user_id' => Auth::user()]); 返回$工匠; }可以弄清楚为什么 Auth::user() 将空值推送到数据库而不是选择当前经过身份验证的用户 ID。
请帮助大家。
【问题讨论】:
这是我拥有存储功能的控制器
公共功能存储(请求 $request) { $artisan = Artisan::create($request->all() + ['user_id' => Auth::user()]); 返回$工匠; }可以弄清楚为什么 Auth::user() 将空值推送到数据库而不是选择当前经过身份验证的用户 ID。
请帮助大家。
【问题讨论】:
Auth::user() 返回User 类的实例(如果用户已登录)。
你必须从中选择id,像这样:
$user_id = Auth::user()->id;
【讨论】:
要从 Auth::user() 获取用户数据,你必须遵循这个。
您必须使用 Auth 类登录。
if (Auth::attempt(['email' => $email, 'password' => $password])) {}
您必须在 web 中间件下包含要访问经过身份验证的用户数据的所有路由。
Route::group(['middleware' => ['web']], function () {
Route::post('/dashboard', 'Controller@dashboard');
}
由于值来自 Session 并且 web 中间件有 Session 已激活。
【讨论】: