findOne возвращает не все значения
Добавлено: 2016.02.16, 00:48
Здравствуйте! Продолжаю изучение ФВ, пытаюсь сверить пароль введенный пользователем с паролем, который лежит в БД.
Есть такая модель.
$user->attributes возвращает вот такой массив:
Array ( [id] => 1 [login] => ForceMan [email] => [password] => [date_created] => 2016-02-15 23:49:51 )
Почему нет данных по email и password? В базе они существуют. Гугл результат не дал.
Код: Выделить всё
namespace app\models;
use yii;
use yii\base\Model;
use yii\db\ActiveRecord;
class Entry extends ActiveRecord
{
public $email;
public $password;
public static function tableName()
{
return 'users';
}
public function rules()
{
return [
[['email', 'password'], 'required'],
['password', 'validatePassword'],
];
}
// ПРОВЕРКА ПАРОЛЯ //
public function validatePassword($password)
{
$user = $this->findByEmail($this->email);
//print_r($user->attributes);exit;
if (!$user || $user->password != $this->password) {
$this->addError('password', 'Incorrect username or password.');
}
}
// ПОИСК ПОЛЬЗОВАТЕЛЯ ПО EMAIL //
public static function findByEmail($email)
{
return static::findOne(['email' => $email]);
}
}
$user->attributes возвращает вот такой массив:
Array ( [id] => 1 [login] => ForceMan [email] => [password] => [date_created] => 2016-02-15 23:49:51 )
Почему нет данных по email и password? В базе они существуют. Гугл результат не дал.