I18nSourceMessage::class, 'targetAttribute'=>'id'], [['translation'], 'string'], [['language'], 'string', 'max' => 16], [['language'], 'unique', 'targetAttribute' => ['id', 'language']] ]; } public function attributeLabels() { return [ 'id' => Yii::t('backend', 'ID'), 'language' => Yii::t('backend', 'Язык'), 'translation' => Yii::t('backend', 'Перевод'), 'sourceMessage' => Yii::t('backend', 'Исходное сообщение'), 'category' => Yii::t('backend', 'Категория'), ]; } public function afterFind() { $this->sourceMessage = $this->sourceMessageModel ? $this->sourceMessageModel->message : null; $this->category = $this->sourceMessageModel ? $this->sourceMessageModel->category : null; return parent::afterFind(); } public function getSourceMessageModel() { return $this->hasOne(I18nSourceMessage::class, ['id' => 'id']); } }