我有2个字段的登录表单。首先可以同时接收电子邮件或移动电话,第二个是密码。
如何使用auth检查?
我的代码段是: -
if ( Auth::check([
'email' => $request->email,
'mobile' => $request->email,
'password' => $request->password,
false,
false
]))
{
$user = Auth::user();
return $user;
}
但是这个东西是把键与运算符结合起来。如何获得电子邮件或手机和密码。
答案 0 :(得分:1)
在remove
之前添加条件以检测提供的登录格式(电子邮件或移动设备)。首先,将字段名称更改为登录。下一个:
modifyList.forEach((k, v) -> list.put(v, list.remove(k)));
请记住使用Auth::check()
而不是$credentials = [];
if (filter_var($request->login, FILTER_VALIDATE_EMAIL)) {
$credentials['email'] = $request->login;
} else {
$credentials['mobile'] = $request->login;
}
if ( Auth::attempt($credentials)) {
$user = Auth::user();
return $user;
}
检查用户是否已登录。