Здравствуйте уважаемые.
Я не могу получить данные из связанной модели.
Есть модель со связью:
class Post extends ActiveRecord {
/**
* @return \yii\db\ActiveQuery
*/
public function getUsers()
{
return $this->hasMany(User::className(), ['id' => 'user_id'])
->viaTable('cube', ['post_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getPage()
{
return $this->hasOne(Page::className(), ['id' => 'page_id'])
->viaTable('cube', ['post_id' => 'id']);
}
}
Если я получаю одну модель я получаю данные из связанно модели:
$model = Post::findOne(123);
// получаем ID страницы
// Разницы нет использую ли hasMany или hasOne
$model->page->id;
Но если я получаю массив из моделей и обращаюсь к каждой в отдельности, я не могу полусить данные из связанных моделей.
$models = Post::find()->all();
foreach($models as $model) {
// Тут у меня свойство page == NULL (hasOne)
// или page ровняется пустому массиву (hasMany)
// Разницы нет использую ли hasMany или hasOne
$model->page->id;
}