Kalammitta
@Kalammitta

Yii2 перевод динамического контента из базы — не видит метод из другой модели?

Доброго времени всем, подскажите пожалуйста что делаю не так ?
модель article не видит метод прописанный в article_lang, и не выводятся данные в index???

для реализации перевода динамического контента страниц, хранящегося в базе данных
создала 2 таблицы article и article_lang, создала модели и написала связи
для article
public function getArticles(){
        return $this->find()->all();
    }
public function getDataArticles(){
        $language = Yii::$app->language;
        $data_lang = $this->getArticleLangs()->where(['lang_url'=>$language])->one();
        return $data_lang;
    }
public function getArticle($id){
        return $this->find()->where(['id' => $id])->one();
    }


для модели article_lang
public function getArticleLangs()
    {
        return $this->hasOne(Article::class, ['id' => 'post_id']);
    }

добавила в контроллер
public function actionIndex(){
    $article = new Article();
    return $this->render('index', [
            'articles' => $article->getArticles(),
    ]);
}
public function actionView($id)
    {  $article = Article::findOne($id);
       $lang_data = $article->getDataArticles();
       return $this->render('single', [
            'article' => $article,
            'lang_data' => $lang_data,
]);
    }

при выводе в index
<?php $lang_data = $article->getDataArticles(); ?>
ругается на
Unknown Method – yii\base\UnknownMethodException
Calling unknown method: app\models\Article::getArticleLangs()
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы