用system.db.ar的findAll取出的数据集对象,如何转换成数组呢?

用system.db.ar的findAll取出的数据集对象,如何转换成数组呢!

有没有类似的toArray的方法,将数据集对象转换成数组!

对于每一个AR对象你可以用$object->attributes获得数组表达。

另外,为什么要转换成数组呢?

因为我用 CJSON::encode($param),如果这个$param是个对象,编码出来的json结果不是想要的结果,所以每次我都要foreach遍历这个对象一次!如果这个$param是个数组的话,直接就可以通过CJSON::encode($param),得到JSON

从1.0.2版本开始CActiveRecord已经支持JSON编码了。你只要用CJSON::encode($models)就可以得到你想要的结果了。参见:http://code.google.com/p/yii/issues/detail?id=104&can=1&q=json

CJSON::encode($search) 只支持1维数组 如果是多位数组 就没戏了