在Yii中,我设置了一个使用直通选项的关系。
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中进行延迟录制,我怎样才能访问直通表中的值?
答案 0 :(得分:1)
在你的第二个循环中你应该调用好的相关模型!
您似乎在调用users
而不是users_relationships
foreach($model->users_relationships as $value):
$model-> is_environemnt_administrator;
endforeach;