我在front_page中创建了一个注册表,我想在成功注册到/ home页面后将用户重定向,但是我得到一个数组,并且用户未重定向。
{"email":"[email protected]","paypal_email":"[email protected]","updated_at":"2020-02-
14
08:16:32","created_at":"2020-02-14 08:16:32","id":1}
我的路线:
Route::post('/', 'Auth\RegisterController@create')->name('auth.register');
注册控制器:
public function create(Request $request)
{
return User::create([
'email' => $request['email'],
'paypal_email' => $request['paypal_email'],
'password' => Hash::make($request['password']),
]);
}
public $redirectTo = '/home';
更改此:
public function create(Request $request)
{
return User::create([
'email' => $request['email'],
'paypal_email' => $request['paypal_email'],
'password' => Hash::make($request['password']),
]);
}
至此:
public function create(Request $request) { $create = User::create([ 'email' => $request['email'], 'paypal_email' => $request['paypal_email'], 'password' => Hash::make($request['password']), ]); if($create){ return redirect('/home'); } //Return errors here }
要了解有关laravel重定向的更多信息,请单击here
出于某些原因,您不应直接调用create
方法。
create
方法确实适用于laravel trait RegistersUsers
内部使用。您可以像这样保持控制器,只需要将路由更改为register
。
Route::post('/', 'Auth\RegisterController@register')->name('auth.register');
通过这样做,应该创建用户并将其重定向到主页。
并且存在public $redirectTo = '/home';
此属性的原因,直接使用create
方法就完全忽略了该属性。