
如何转化为数组?
(学习视频分享:编程视频)
我们在使用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格式的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/80069.html
微信扫一扫
支付宝扫一扫