@ilshat_gayanov

Почему происходит ошибка при проверки правила laravel?

Пытаюсь сделать проверку логина и пароля, в итоге ошибка:
local.ERROR: Undefined offset: 0 {"exception":"[object] (ErrorException(code: 0)

Сам php код:
Validator::extend('user_check', function($attribute, $value, $parameters, $validator) {
            $userDatabase = new UserEloquent;
            $user = $userDatabase->where('login', $value)->get();
            if($user[0]['login'] == $value){
                return true;
            }
                return false;
        });
        
        Validator::extend('passw_hash_check', function($attribute, $value, $parameters, $validator) {
            $userDatabase = new UserEloquent;
            $user = $userDatabase->where('hash_password', $value)->get();
            if($user[0]['hash_password'] == $value){
                return true;
            }
                return false;
        });

$validator = Validator::make($request->all(), [
                'login' => 'required|string|user_check|min:3',
                'password' => 'required|string|passw_hash_check|min:3',
            ]);

что делать?
  • Вопрос задан
  • 343 просмотра
Решения вопроса 1
@anlamas
// вместо этого
$userDatabase = new UserEloquent;
$user = $userDatabase->where('login', $value)->get();

// это
$user = DB::table('users')->select('id')->where('login', $value)->first();
if($user) return true;
return false;

// или
'login' => 'unique:users,login'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы