如何在Laravel注册后立即登录?

How to login right after registration in Laravel?

我正在尝试在我的系统中注册一个新用户,然后自动登录。如何在同一个控制器中调用另一个函数并将 $request 变量传递给它?

我做了 var_dump,登录功能正在获取数据,正在登录,但它没有重定向到索引(第 28 行)

public function login(Request $request)
{
    //var_dump($request->only('email', 'password'));
    
    $credentials = [
        'email' => $request->email,
        'password' => $request->password,
    ];
    
    if(Auth::attempt($credentials)) {
        return redirect()->route('movie.index');       
    }

    return redirect()->route('login')->with([
        'error' => 'danger',
        'msg' => 'Error message',
    ]);
}

public function register(Request $request)
{
    $newUser = new User;
    $newUser->name = $request->name;
    $newUser->email = $request->email;
    $newUser->password = Hash::make($request->password);
    $newUser->save();

    $this->login($request);
}

正确的方法是

Auth::login($newUser);

然后在登录后重定向到您的页面。