【发布时间】:2016-09-07 16:23:40
【问题描述】:
我以前从未使用过 Laravel,我正在使用 laravel 默认用户注册和表单的第 1 步的身份验证进行 3 部分注册。每个步骤都有自己的表格。 step 1s 表的 id 列用于链接所有 3 个表。
目前我使用$id = Auth::user()->id 在第 2 步控制器中获取登录用户 ID。相反,如何在创建用户后将 id 路由/传递到第 2 步控制器存储方法并将视图重定向到第 2 步?
在授权控制器中
protected function create(array $data)
{
return User::create([
'email' => $data['email'],
'password' => bcrypt($data['password']),
'firstName' => $data['firstName'],
'middleName' => $data['middleName'],
'lastName' => $data['lastName'],
]);
}
在 Illuminate\Foundation\Auth\RegistersUsers 中;
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
Auth::guard($this->getGuard())->login($this->create($request->all()));
// pass id to store method in profile and redirect to profileinfo
return view('user/profileinfo');
}
}
【问题讨论】:
-
使用 $id = Auth::user()->id 有什么问题?
-
@Abhishek 因为在每个控制器中,我都必须有一个 getId 函数来确保每个用户都已登录并返回 id。我在想最好将 id 作为参数传递给每个控制器中的 store 方法
标签: laravel