如何将用户数据从登录控制器传递到我的用户控制器



我想在通过LoginController.注册到UserController后返回Users 数据

以下是我使用学生索引号修改默认电子邮件登录LoginController,

namespace AppHttpControllersAuth;
use AppHttpControllersBaseController;
use IlluminateFoundationAuthAuthenticatesUsers;
use IlluminateHttpRequest;
class LoginController extends BaseController {
public function username()
{
return 'index_no';
}
public function redirectTo(Request $request)
{
$id = $request->input('id');
return redirect()->route('users', ['id' => $id]);
}
}

重定向时,我希望用户id,但我得到这个:

致命可抛出错误错误 参数太少,无法运行 App\Http\Controllers\Auth\LoginController::redirectTo((

您正在为redirectTo()函数定义一个参数,默认情况下,该参数不需要参数。试试这个:

public function redirectTo()
{
return redirect()->route('users', ['id' => auth()->id()]);
}

解释是,鉴于此重定向将在成功登录后发生,用户已经登录,因此您可以使用Auth外观或auth()帮助程序来检索登录用户的信息。

我只需要消除重定向((方法

public function redirectTo()
{
return route('auth.clearance',['id'=>auth()->id()]);
}

最新更新