我想通过User
向UserController
注册后返回LoginController.
的数据
下面是LoginController,
,我用学生的索引号修改了默认的电子邮件登录名:
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\BaseController;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
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
,但我得到了:
FatalThrowableError错误,函数App \ Http \ Controllers \ Auth \ LoginController :: redirectTo()的参数太少
答案 0 :(得分:2)
您正在为redirectTo()
函数定义一个参数,默认情况下,该参数不包含任何参数。尝试以下方法:
public function redirectTo()
{
return redirect()->route('users', ['id' => auth()->id()]);
}
原因是,鉴于重定向将在成功登录后发生,因此该用户已经登录,因此您可以使用Auth
门面或auth()
助手来检索登录用户的信息。
答案 1 :(得分:0)
我只需要消除redirect()方法
public function redirectTo()
{
return route('auth.clearance',['id'=>auth()->id()]);
}