255], [['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::class, 'targetAttribute' => ['user_id' => 'id']], ]; } public function attributeLabels() { return [ 'id' => Yii::t('user', 'ID'), 'user_id' => Yii::t('user', 'Пользователь'), 'first_name' => Yii::t('user', 'Имя'), 'last_name' => Yii::t('user', 'Фамилия'), 'middle_name' => Yii::t('user', 'Отчество'), 'full_name' => Yii::t('user', 'Полное имя'), 'telegram' => Yii::t('user', ' Телеграм'), 'location' => Yii::t('user', 'Локация'), 'phone' => Yii::t('user', 'Телефон'), ]; } public function getUser(): \yii\db\ActiveQuery { return $this->hasOne(User::class, ['id' => 'user_id']); } public function getFullName(): string { return implode(' ', [$this->last_name, $this->first_name, $this->middle_name]); } // todo refactor public function behaviors(): array { return [ [ 'class' => AttributeBehavior::class, 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => 'full_name', ActiveRecord::EVENT_BEFORE_UPDATE => 'full_name', ], 'value' => function ($event) { return self::getFullName(); }, ], ]; } }