【问题标题】:Yii Lazy Loading Getting values in through table/modelYii Lazy Loading 通过表/模型获取值
【发布时间】:2012-12-14 21:14:33
【问题描述】:

在 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;  

当我想访问用户模型中的值时,这很好用。但是当我尝试访问 EnvironmentUsers 模型中的值时,它会抛出通知值找不到。

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

我的问题是,当我在 Yii 中懒加载时,如何访问 through 表中的值?

【问题讨论】:

    标签: php activerecord yii yii-cmodel


    【解决方案1】:

    在您的第二个循环中,您应该调用良好的相关模型! 看来您正在调用 users 而不是 users_relationships

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

    【讨论】:

    • 哦,所以我最终做的是,当我想获取用户信息时,我会延迟加载该模型。
    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多