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_map(function($record){
13             $return = $schma = array();
14             if(isset($record[‘tableSchema‘]->columns))
15             {
16                 foreach($record[‘tableSchema‘]->columns as $k=>$v)
17                 {
18                     $schma[] = $k;
19                 }
20             }
21             if(count($schma)>0)
22             {
23                 foreach($schma as $k=>$v)
24                 {
25                     $return[$v] = $record->attributes[$v];
26                 }
27             }
28             return $return;
29         },$data);
30
31     print_r($return);
32
33
34 }
时间: 2024-08-05 10:24:11

Yii框架AR对象数据转化为数组的相关文章

yii框架AR详解

yii框架AR详解 虽 然Yii DAO可以处理事实上任何数据库相关的任务,但很可能我们会花费90%的时间用来编写一些通用的SQL语句来执行CRUD操作(创建,读取,更新和删除). 同时我们也很难维护这些PHP和SQL语句混合的代码,要解决这些问题,我们可以使用Active Record.    Active Record(AR)是一种流行的对象关系映射(ORM)技术.每个AR类代表一个数据表(或视图),其字段作为AR类的属性,一个AR实例代表在表中的 一行.常见的CRUD操作被作为AR类的方法

Yii框架Ar操作

1.$admin=Admin::model()->findAll($condition,$params); 该方法是根据一个条件查询一个集合,如: findAll("username=:name",array(":name"=>$username)); 2.$admin=Admin::model()->findAllByPk($postIDs,$condition,$params); findAllByPk($id,"name like

二级联动:map,for循环一级数据,调用接口获取对象数据依次放到数组里(解决由于后端java是多线程,接收到的数据放入(push)数组中有可能会顺序不对)

解决方法:遍历一级数据时先push一个新的对象,调用接口获取到数据之后splice方法通过index的值判断放入到数组的对应下标下 this.tableData一级数据:  this.relationMaterialNameList二级数据: this.tableData.map((item,index)=>{ this.relationMaterialNameList.push({}) // 编辑页面项目下拉框数据 this.getSpecificationList(item.reimburs

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

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

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CModel实现的接口相关,接下来我们看下其实现的整个过程对于一个我们定义的model,它会继承虚类CActiveRecord,CActiveRecord类继承于CModel,如下所示: class special extends CActiveRecord { } abstract class CAct

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

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

YII框架分析笔记4:ar模型和db

YII中实现两种类型的模型,分别是表单模型和活动记录.在持久化数据方面,YII只实现了活动记录,对于复杂的数据关系可以用框架提供的DAO来自己写model,对应集成doctrine这样的ORM还没有仔细研究过. ar模型 框架中的model是CModel子类,CModel主要是一些验证与错误处理,并实现迭代器和数组访问接口,活动记录模型CActiveRecord是AR模型的基类. 每个AR类代表一个单独的数据表,一个AR实例则代表那个表中的一行.AR是一种对象关系映射(ORM)的设计模式,它负责

yii框架数据库操作数据访问对象(DAO)简单总结

Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO)建立在PHP的数据对象(PDO)extension上,使得在一个单一的统一的接口可以访问不同的数据库管理系统(DBMS).使用Yii的DAO开发的应用程序可以很容易地切换使用不同的数据库管理系统,而不需要修改数据访问代码.Yii 的Active Record( AR ),实现了被广泛采用的对象关系映射(ORM)办法,进一步简化数据库编程.按照约定,一个类代表一个表,一个实例代表一行数据.Yii AR消除了大部分用于处理CRUD(创建,

Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']

public function getMinLimit () {        $sql = "...";        $result = yii::app()->db->createCommand($sql);        $query = $result->queryAll();         return array (                $query [0] ['max'],         );    } $connection=Yii::