TimestampBehavior::class, 'updatedAtAttribute' => false ] ]; } public function rules() { return [ [['ref_key', 'data_version', 'code', 'description'], 'required'], [['ref_key', 'parent_key'], 'string', 'max' => 255], [['code', 'description', 'short_name'], 'string', 'max' => 1000], [['data_version'], 'string', 'max' => 100], ['archive', 'boolean'], [['ref_key', 'data_version'], 'unique', 'targetAttribute' => ['ref_key', 'data_version']] ]; } public function attributeLabels() { return [ 'ref_key' => 'Id 1C', 'data_version' => 'версия', 'code' => 'ключ', 'description' => 'описание', 'short_name' => 'сокращенное наименование', 'parent_key' => 'родительский ключ 1С', ]; } public function getParent(){ return $this->hasOne(AdmissionBase::class, ['ref_key' => 'parent_key']); } public function getChildren(){ return $this->hasMany(AdmissionBase::class, ['parent_key' => 'ref_key']); } public static function find() { return new ArchiveQuery(static::class); } public static function getArchiveColumn(): string { return 'archive'; } public static function getArchiveValue() { return true; } public function restoreDictionary() { } public function fillDictionary() { } public static function getReferenceClassToFill(): string { return static::getReferenceClassName(); } }