Проверка пользователя в БД(АВТОРИЗАЦИЯ)

245
08 сентября 2018, 18:10

Как правильно сформулировать запрос на существование пользователя в таблице?

 $query=User::find();    
$rows = $query
    ->where(['username = :name','password_hash=:pass'])->addParams([':name' => $name, ':pass' => $pass])
    ->limit(10);
    return $rows;
Answer 1

Скорее всего поле username должно быть уникальным, следовательно получать необходимо одну модель из БД.

$user = User:findOne(['username = :name, 'password_hash = :pass'])
    ->addParams([':name' => $name, ':pass' => $pass])->limit(1);

В таком случае переменной $user будет присвоена модель, если такая есть в БД, в вашем случае в переменной $rows будет массив моделей, даже, если найдена только одна модель.

READ ALSO
Найти свободно реферала

Найти свободно реферала

есть структура как в таблице на картинке

274
Хранение и удаление значений из массива

Хранение и удаление значений из массива

Есть массив ID товаровПользователь может выбрать 1 товар много раз

217
Парсинг отзывов из Яндекс Карты и Google Place

Парсинг отзывов из Яндекс Карты и Google Place

Хочу решить задачу с копированием отзывов в мой WP сайт из google place или яндекс картыно там по умолчанию выводится 10 отзывов

248
try catch начал ловить E_WARNING

try catch начал ловить E_WARNING

Недавно обнаружил, что в проекте конструкции вида:

241