如何将用户数据从 LoginController 传递到我的 UserController
How to pass user's data from LoginController to my UserController
我想returnUser
通过LoginController.
注册到UserController
后的数据
下面是 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 error Too few arguments to function App\Http\Controllers\Auth\LoginController::redirectTo()
您正在为 redirectTo()
函数定义一个参数,默认情况下,它不需要任何参数。试试这个:
public function redirectTo()
{
return redirect()->route('users', ['id' => auth()->id()]);
}
解释是,鉴于此重定向将在成功登录后发生,用户已经登录,因此您可以使用 Auth
facade 或 auth()
helper 来检索登录用户的信息。
我只需要消除 redirect() 方法
public function redirectTo()
{
return route('auth.clearance',['id'=>auth()->id()]);
}
我想returnUser
通过LoginController.
UserController
后的数据
下面是 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 error Too few arguments to function App\Http\Controllers\Auth\LoginController::redirectTo()
您正在为 redirectTo()
函数定义一个参数,默认情况下,它不需要任何参数。试试这个:
public function redirectTo()
{
return redirect()->route('users', ['id' => auth()->id()]);
}
解释是,鉴于此重定向将在成功登录后发生,用户已经登录,因此您可以使用 Auth
facade 或 auth()
helper 来检索登录用户的信息。
我只需要消除 redirect() 方法
public function redirectTo()
{
return route('auth.clearance',['id'=>auth()->id()]);
}