 如何转化为数组? (学习视频分享:编程视频) 我们在使用Yii 的Active Record 来获取查询结果的时候,返回的结果集是一个对象类型。如果我们希望能够更加方便地处理数据,可以将它转成数组返回,比如下面的方法: // 查找满足指定条件的结果中的第一行
$post=Post::model()->find($condition,$params);
// 查找具有指定主键值的那一行
$post=Post::model()->findByPk($postID,$condition,$params);
// 查找具有指定属性值的行
$post=Post::model()->findByAttributes($attributes,$condition,$params); 返回一条结果的时候直接用 $post->attributes; 就可以了。 如果要返回FindAll数组呢,要怎么处理呢? 有两种方法: 第一种是使用自定义的函数,如下 /**
* 简化findall数据
* */
function simplifyData($data){
foreach($data as $key=>$val){
$newData[$key] = $val->attributes;
}
return $newData;
}然后使用函数直接转换结果 第二种是使用很简单的方法: $products = ProTuan::model()->findAll($criteria);
$products = json_decode(CJSON::encode($products),TRUE); 作用是就先将findAll结果先转成JSON格式,然后再转为数组 至于findALL转为JOSN格式其实就是使用 CJSON::encode 相关推荐:yii框架 以上就是yii如何将对象转化为数组或直接输出为json格式的详细内容,更多请关注模板之家(www.mb5.com.cn)其它相关文章! |