/** * @inheritdoc */ public function rules() { return [[['PersonID', 'LevelID'], 'required'], [['PersonID', 'LevelID'], 'integer'], [['Blocked', 'Deleted'], 'boolean'], [['Deleted', 'Blocked'], 'default', 'value' => 0], [['Money', 'Spend', 'Charged', 'Bonuses', 'SpendBonuses', 'ChargedBonuses', 'Tickets', 'ChargedTickets', 'SpendTickets', 'BonusGames', 'BonusGamesCounter', 'InPawn'], 'number', 'min' => 0], [['Money', 'Spend', 'Charged', 'Bonuses', 'SpendBonuses', 'ChargedBonuses', 'Tickets', 'ChargedTickets', 'SpendTickets', 'BonusGames', 'BonusGamesCounter', 'InPawn'], 'default', 'value' => 0], [['RegisterDate'], 'safe'], [['PersonID'], 'exist', 'targetClass' => PersonsRecord::className(), 'targetAttribute' => 'ID'], [['LevelID'], 'default', 'value' => LevelsRecord::getStartLevel()->id], [['LevelID'], 'exist', 'targetClass' => LevelsRecord::className(), 'targetAttribute' => 'ID']]; }
/** @inheritdoc */ public function afterSave($insert, $changedAttributes) { if ($insert) { /** @var AccountRecord $account */ $account = \Yii::createObject(['class' => AccountRecord::className(), 'PersonID' => $this->getId(), 'RegisterDate' => $this->RegisterDate, 'LevelID' => LevelsRecord::getStartLevel()->ID]); if ($account->save(false)) { $this->updateAttributes(['AccountID' => $account->id]); $this->link('account', $account); } } // ActiveRecord::afterSave($insert, $changedAttributes); $this->trigger($insert ? self::EVENT_AFTER_INSERT : self::EVENT_AFTER_UPDATE, new AfterSaveEvent(['changedAttributes' => $changedAttributes])); }