繁体   English   中英

如何在创建方法 laravel6 后重定向用户?

[英]How to redirect a user after a create method laravel6?

我在 front_page 中制作了一个注册表单,我想在成功注册后将用户重定向到 /home 页面,但是我得到了一个数组并且用户没有被重定向。

  {"email":"example@example.com","paypal_email":"example@example.com","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 重定向的更多信息,请单击此处

出于一些原因,您不应直接调用create方法。

  1. 请求未被验证。
  2. 如果您想在注册期间触发一些不会发生的事件。
  3. 它不会自动登录用户。

create方法实际上是为 laravel trait RegistersUsers内部使用的。 你可以保持这样的控制器,你只需要改变你的路线来register

Route::post('/', 'Auth\RegisterController@register')->name('auth.register');

通过这样做,应该创建用户并将其重定向到主页。

还有一个原因public $redirectTo = '/home'; 此属性存在,通过直接使用create方法,您将完全忽略该属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM