У меня есть 2 таблицы с именами Users и User_info
Я хочу выполнить авторизацию при входе в систему с электронной почтой и мобильным телефоном
Письмо хранится в Table Users, а мобильное - в Table User_info
Может ли кто-нибудь направить меня?
Вы можете попробовать вот так
$credential = filter_var($request->login, FILTER_VALIDATE_EMAIL) ? 'email' : 'phone'; $login = $request->login; if($credential == 'email'){ User::where('email',$login)->first(); //Some logic }else{ User::whereHas('user_info',function($q) use ($login){ $q->where('mobile',$login); })->first(); //do some logic }
Первый поиск в таблице пользователей для ввода значения. Если результат равен нулю, ищите в таблице user_info.
Пример:
if(count($user = \App\User::where('email',$request->email)->first()) > 0) \\Login Logics like Auth::LoginUsingId($user->id) elseif(count($user = \App\UserInfo::where('phone_number',$request->phone_number)->first()) > 0)) \\Login Logics like Auth::LoginUsingId($user->id)