Yii Active Record 查询结果转化成数组

使用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; 就可以了。

Post::model()->find()->attributes

如果返回的是多条结果,返回的是一个对象数组的时候有下面2种方法:

//第一种直接将结果循环输出
 foreach ($myReceivedCode as $model) {
                        $result[] = $model->attributes;
                }

//第二种用array_map
                $result= array_map(function($record) {
                                return $record->attributes;
                        }, Post::model()->->findAllByAttributes($attributes));
时间: 2024-08-27 15:04:08

Yii Active Record 查询结果转化成数组的相关文章

Yii1.1 Active Record 查询结果转化成数组

使用Yii 的Active Record 来获取查询结果的时候,返回的结果集是一个对象类型的,有时候为了数据处理的方便希望能够转成数组返回.比如下面的方法: <?php // 查找满足指定条件的结果中的第一行 $post=Post::model()->find($condition,$params); // 查找具有指定主键值的那一行 $post=Post::model()->findByPk($postID,$condition,$params); // 查找具有指定属性值的行 $po

Yii Active Record 动态数据表

Active Record(AR)是一种流行的 对象-关系映射(ORM)技术,其映射关系为 AR class:数据表 AR class property:数据表的一列 AR 实例:数据表的一条数据 所以对于常用的数据库操作(CRUD)可以转化成一种面向对象的数据操作形式. 实现一个AR类的的最简代码如下: class Post extends CActiveRecord { public static function model($className=__CLASS__) { return p

YII Active Record 详细解说

Active Record 虽然 Yii DAO 可以处理几乎任何数据库相关的任务, 但很可能我们会花费 90% 的时间以编写一些执行普通 CRUD(create, read, update 和 delete)操作的 SQL 语句. 而且我们的代码中混杂了SQL语句时也会变得难以维护.要解决这些问题,我们可以使用 Active Record. Active Record (AR) 是一个流行的 对象-关系映射 (ORM) 技术. 每个 AR 类代表一个数据表(或视图),数据表(或视图)的列在 A

laravel 将数组转化成字符串 再把字符串转化成数组

这是在给阮少翔改代码的时候用的方法, 开始的数据用explored转化成数组不是想要的结果, 我就自己写了一个方法把有用的信息提取出来拼接成一个字符串, 再用explored将字符串转化成数组.   方法有点笨, 但是最后是解决了阮少翔的问题 $re1 = DB::table('admin_user') ->join('admin_role_user','admin_user.id','=','admin_role_user.user_id') ->select('admin_role_use

集合类转化成数组

使用比较多的时ArrayList转化成数组,例如: List<String> strList = new ArrayList<String>(); strList.add("aaa"); strList.add("bbb"); strList.add("ccc"); Object[] strArr = strList.toArray(); 调用toArray方法返回的时Object类型的数组,而且不能进行类型转化, Str

yii2得到的数据对象转化成数组

yii2得到的数据对象转化成数组需要用到asArray().1.Customer::find(['id' => $id])->asArray()->one();2.$model = Customer::findModel($id); $model->attributes;  

将类数组转化成数组

首先说说什么是类数组: 1.拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解), 2.不具有数组所具有的方法, 比如:arguments 将类似数组的对象转化成真正的数组的方法: 方法一: var arr = Array.prototype.slice.apply(arguments); 或 var arr = Array.prototype.slice.call(arguments); <script> var aa =

Yii框架AR对象数据转化为数组

demo函数作用:将AR对象数据转化为数组 局限:仅用于findAll的多维数组,find一维数组可以先转化为多维数组的一个元素在使用 1 function actionIndex() 2 { 3 4 $data = Tableone::model()->findAll(array( 5 "limit"=>"10", 6 )); 7 8 /** 9 * ar对象转化为数组 10 * 仅用于findAll 11 */ 12 $return = array_

把stdclass object 转化成数组

今天从接口上获取数据,用json_decode转化成发现是一个stdClass Object .例子: 从网上搜到一些方法,我感觉好用的解决方案有两个://PHP stdClass Object转array  function object_array($test) {      if(is_object($array)) {          $array = (array)$array;       } if(is_array($array)) {           foreach($ar