CActiveRecord迭代不尊重虚拟属性


CActiveRecord Iteration not respected Virtual Attributes

我有一个从CActiveRecord扩展的模型
设类名为SomeModel,对象名为$foo

$foo = SomeModel::model()->findByPk(1);

然后我在模型上创建了虚拟属性

$foo->setImage('testing.jpg');

当我测试调用属性/状态时,它工作得很好:

var_dump($foo->image); // output testing.jpg

但是当我对模型进行迭代时,它没有显示属性。

foreach($foo as $key => $value) {
        echo $key .' = '. $value."'n";
    }

如何使image属性列出时,我做迭代?

你不能像那样迭代一个模型。试试这个:

foreach ( $foo->getAttributes() as $key => $value ) {
    //  Do stuff
}