Yii default rule не работает
Создал модель примерно следующего содержания:
class User extends \yii\db\ActiveRecord implements IdentityInterface
{
const STATUS_DELETED = 0;
const STATUS_ACTIVE = 10;
public static function tableName()
{
return 'user';
}
public function rules()
{
return [
[['username', 'auth_key', 'password', 'password_reset_token', 'status', 'created_at', 'updated_at'], 'required'],
[['status', 'created_at', 'updated_at'], 'integer'],
[['username', 'fullname', 'password', 'password_reset_token', 'email'], 'string', 'max' => 255],
[['auth_key'], 'string', 'max' => 32],
[['username'], 'unique'],
['status', 'default', 'value' => self::STATUS_ACTIVE],
['created_at', 'default', 'value' => 123],
['status', 'in', 'range' => [self::STATUS_ACTIVE, self::STATUS_DELETED]],
['status', 'filter', 'filter' => 'intval'],
];
}
//... дальше идут функции
}
Теперь в контроллере делаю так:
$user = new User();
$user->username = 'admin';
$user->email = 'admin';
$user->setPassword('admin');
$user->generateAuthKey();
if ($user->validate()) {
$user->save();
} else {
return var_dump($user->errors);
}
И в результате получаю ошибку:
array(4) {
["password_reset_token"]=> array(1) {
[0]=> string(53) "Password Reset Token cannot be blank."
}
["status"]=> array(1) {
[0]=> string(29) "Status cannot be blank."
}
["created_at"]=> array(1) {
[0]=> string(56) "Created At cannot be blank."
}
["updated_at"]=> array(1) {
[0]=> string(60) "Updated At cannot be blank."
}
}
Вопрос - почему дефолтное значение, указанное в модели для created_at и status не применилось? Как правильно указать дефолтное значение для атрибутов?
['status', 'default', 'value' => self::STATUS_ACTIVE],
['created_at', 'default', 'value' => 123],