php artisan make:auth,怎样使artisan make:auth生成的登录注册功能中登录可以多字段查询登录?...

该问题已经解决,解决方案如下:

在AuthController控制器中,use那两个trait的下面,添加如下代码

/**

* 设置登录时前端页面提交的“用户名”的变量名为$login

*

* @var string

*/

protected $username = 'login';

/**

* 重写获得登录数据的getCredentials方法,判断第一条数据的类型

*

* @param Requset $request

* @return array

*/

protected function getCredentials(Request $request){

$login = $request -> get('login');

$middle = filter_var($login, FILTER_VALIDATE_EMAIL) ? 'email' : 'name';

$field = filter_var($login, FILTER_VALIDATE_INT) ? 'phone' : $middle;

return [

$field => $login,

'password' => $request->get('password'),

];

}

此方法重写了引入的AuthenticatesAndRegistersUsers类中引入的AuthenticatesUsers类中的getCredentials方法,该方法作用是返回login方法中调用的的attempt方法验证信息所使用的$credentials数组变量。要注意,最终$field索引变量所对应的$login变量必须与数据库中users表中所需要的字段一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值