I use the creocoder/yii2-translateable extension, created page and page_lang models, did everything according to the instructions, but the data does not come with the translation. Here is a model page

 <?php namespace frontend\models; use Yii; use creocoder\translateable\TranslateableBehavior; class Page extends \yii\db\ActiveRecord { public function behaviors() { return [ 'translateable' => [ 'class' => TranslateableBehavior::className(), 'translationAttributes' => ['title', 'body'], 'translationRelation' => 'pageLangs', 'translationLanguageAttribute' => 'lang', ], ]; } public function transactions() { return [ self::SCENARIO_DEFAULT => self::OP_INSERT | self::OP_UPDATE, ]; } public function getPageLangs() { return $this->hasOne(PageLang::className(), ['page_id' => 'id']); //->where(['page_lang' . '.lang' => Yii::$app->language]); } public static function tableName() { return 'page'; } /** * @inheritdoc */ public function rules() { return [ [['status', 'author_id'], 'integer'], [['author_id'], 'required'], [['meta_k', 'meta_d', 'slug'], 'string', 'max' => 255], [['slug'], 'unique'], [['author_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['author_id' => 'id']], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'meta_k' => 'Meta K', 'meta_d' => 'Meta D', 'slug' => 'Slug', 'status' => 'Status', 'author_id' => 'Author ID', ]; } /** * @return \yii\db\ActiveQuery */ public function getAuthor() { return $this->hasOne(User::className(), ['id' => 'author_id']); } } 

Tell me what I'm doing wrong

    1 answer 1

    I forgot to specify the Page::find()->with('pageLangs')->one() connection in the controller.