Что я делаю не так? =)
Все... Вам не мешало бы разобраться с
ООП хотя бы на уровне PHPpublic function getLangPosts()
{
return $this->find();
}
тут Вы вызываете статический метод find, как обычный это не правильно. Да и вообще не понятно зачем этот метод существует
public function getDataPosts(){
$language = Yii::$app->language;
$data_lang = $this->getLangPosts()->where(['lang'=>$language])->one();
return $data_lang;
}
а тут Вы обращаетесь к методу getLangPosts() модели LangPost, при чем делаете это из модели Post через псевдо-переменную $this. $this хранить текущий объект, а в Вашем случае это объект класса Post который не имеет метода getLangPosts().
Сделайте getLangPosts статическим методом и работайте с ним как с статическим методом, например:
app\models\LangPostpublic static function getLangPosts()
{
return static::find();
}
app\models\Postpublic function getDataPosts(){
$language = Yii::$app->language;
$data_lang = LangPosts::getLangPosts()->where(['lang'=>$language])->one();
return $data_lang;
}