Yii Lazy Loading Получение значений через таблицу / модель

В Yii у меня настроены отношения, использующие опцию through.

public function relations()
    {
        return array(
            'users_relationships' => array(
                self::HAS_MANY, 'EnvironmentUsers', 'environment_id', 'together'=>true 
            ),
            'users' => array(
                self::HAS_MANY, 'Users', array('user_id' => 'user_id'), 'through' => 'users_relationships', 'together'=>true 
            ),

        );
    }

И я обращаюсь к нему так:

 foreach($model -> users as $value):
    $model-> user_id;
    endforeach;  

Что отлично работает, когда я хочу получить доступ к значениям в модели Users. Но когда я пытаюсь получить доступ к значению в модели EnvironmentUsers, он выдает сообщение, что значение не может быть найдено.

foreach($model -> users as $value):
    $model-> is_environemnt_administrator;
    endforeach;

Мой вопрос: как я могу получить доступ к значениям в сквозной таблице при ленивом кодировании в Yii?


person Devin Dixon    schedule 14.12.2012    source источник


Ответы (1)


Во втором цикле вы должны вызвать хорошую связанную модель! Похоже, вы звоните users вместо users_relationships

foreach($model->users_relationships as $value):
    $model-> is_environemnt_administrator;
    endforeach;
person darkheir    schedule 15.12.2012
comment
О, вот что я в итоге сделал, и когда я хочу получить информацию о пользователях, я лениво загружаю эту модель. - person Devin Dixon; 16.12.2012