برای اینکه کاربرای سایت بتونن با ایمیل یا نام کاربری یا شماره موبایل بتونن لاگین کنن (یک فیلد نام کاربری باشد که هر کدام از این ۳تا را کاربر وارد کرد بتونه لاگین کنه) تغییر خیلی کوچیکی تو متد کنترلر لاگین میدیم. برای اینکار فایل LoginController.php
رو ویرایش میکنیم.
ابتدا کلاس Request رو use کنین
use Illuminate\Http\Request;
سپس متد credentials رو بازنویسی میکنیم.
protected function credentials(Request $request) { $field = filter_var($request->get($this->username()), FILTER_VALIDATE_EMAIL) ? 'email' : 'mobile'; return [ $field => $request->get($this->username()), 'password' => $request->password, ]; }
تست شده در لاراول ۵٫۴ ۵٫۷ و ۵٫۸
منبع:
https://stackoverflow.com/questions/42708942/allow-login-using-username-or-email-in-laravel-5-4