`
zccst
  • 浏览: 3292354 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

yii之ActiveRecord的一些用法

 
阅读更多
作者:zccst


Yii的ActiveRecord是与数据库打交道的类,也即MVC中的M(模型层),也是ORM的O(Object)。


里面水很深,还有很多不知道的特性,今天列举一二,以后慢慢补充


1,对象转数组
$model = new ActiveRecord();
$model.toArray();
由于ActiveRecord不是简单数组,不能直接json_encode,否则信息不完整。
解决办法:$model.toArray();这样就变为简单数组了,可以进行json_encode了。


2,通过名字或其他字段直接获取ActiveRecord的id。
$nIdcId = idc_info::model()->find('name like :name',array(':name'=>"%".$strIdcName."%"))->id;

我以前经常使用的办法是(现在发现很土):
$idc = Idc::model()->find("...");
$id  = $idc->id;


3,对model的理解

$accModel = call_user_func(array(ActiveRecordName, 'model'));
$model    = $accModel->findByPk($id);

如果您觉得本文的内容对您的学习有所帮助,您可以微信:

  • 大小: 28.9 KB
分享到:
评论
3 楼 zccst 2015-02-20  
lobtao 写道
//没这个方法,我来加一个吧
//ActiveRecord转成Array
    private function toArray($activeRecord){
        $dataset = array();
        $i = 0;
        foreach($activeRecord as $t)
        {
            $dataset[$i] = $t->attributes;
            $i++;
        }

        return $dataset;
    }

2 楼 lobtao 2015-02-16  
//没这个方法,我来加一个吧
//ActiveRecord转成Array
    private function toArray($activeRecord){
        $dataset = array();
        $i = 0;
        foreach($activeRecord as $t)
        {
            $dataset[$i] = $t->attributes;
            $i++;
        }

        return $dataset;
    }
1 楼 tianwaifeixian 2014-12-19  
$model.toArray();  ? 你确认这行可以运行?坑爹呢吧

相关推荐

    yii2-activerecord-inheritance:ActiveRecord Inheritance是为Yii2框架提供类表继承模式的实用程序

    ActiveRecord Inheritance是为Yii2框架提供的实用程序。 其动机是在两个ActiveRecord类之间伪造继承。 安装 将程序包作为依赖项包含在bower.json文件下。 要安装,请运行 $ ...

    yii2中使用Active Record模式的方法

    主要介绍了yii2中使用Active Record模式的方法,结合实例分析了Yii2中使用Active Record模式的具体步骤与相关操作方法,需要的朋友可以参考下

    yii2-meta-activerecord:一个简单的Yii2扩展,扩展了ActiveRecord功能,以允许在补充表中使用WordPress样式的元字段

    Yii2 Meta ActiveRecord 为ActiveRecord类表示的表提供类似WordPress的元表功能 安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist mipotech/yii2-meta-activerecord "*" 或...

    yii2-redis:Yii 2 Redis扩展

    Yii 2的Redis缓存,会话和ActiveRecord 该扩展为提供了键值存储支持。 它包括一个Cache和Session存储处理程序,并实现ActiveRecord模式,该模式允许您将活动记录存储在Redis中。 有关许可证信息,请检查文件。 ...

    yii2-hiart:API 的 ActiveRecord

    高雅艺术API 的 ActiveRecord 这个 Yii2 扩展提供了实现,允许以与普通相同的方式访问远程/Web API。安装安装这个 yii2-extension 的首选方法是通过 。 composer require " hiqdev/yii2-hiart " 但是,如果您更喜欢...

    YII2框架中分页组件的使用方法示例

    本文实例讲述了YII2框架中分页组件的使用方法。分享给大家供大家参考,具体如下: 当数据过多,无法一页显示时,我们经常会用到分页组件,YII2中已经帮我们封装好了分页组件。 首先我们创建操作数据表的AR模型: &...

    swoft-yii2:swift的yii2-component

    composer.json 文件中添加依赖:{ "require-dev": { "deepziyu/swoft-yii2": "dev-master" }}次插件依赖 Yii2-framework ,所以 composer 安装 Yii2 时会出现一些问题,具体解决方法参考 。执行 $ ...

    yii2-dynamicfinder:Yii2框架的动态取景器特征

    yii2-dynamicfinder Yii2框架ActiveRecord模型的动态查找器特征安装安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist jzfpost/yii2-dynamicfinder "*"或添加 "jzfpost/yii2-...

    yii2-shopping-cart:yii2的购物车扩展

    Yii 2的购物车此扩展添加了...如何使用在您的模型中: class Product extends ActiveRecord implements CartPositionInterface{ use CartPositionTrait ; public function getPrice () { return $ this -> price ; }

    Yii2框架中一些折磨人的坑

    说点闲话 ...ActiveRecord的基本用法。如果不理解,可参考这里。 代码现场 /** * @property integer $id * @property string $name * @property string $detail * @property double $price

    yii2-elasticsearch:Yii 2 Elasticsearch 扩展

    对于 Elasticsearch 1.6.0 到 1.7.6 使用扩展版本 2.0.x 对于 Elasticsearch 5.x 或更高版本,请使用扩展版本 2.1.x安装安装此扩展的首选方法是通过 : composer require --prefer-dist yiisoft/yii2-elasticsearch...

    实例讲解YII2中多表关联的使用方法

    class Order extends \yii\db\ActiveRecord.{ // 关联函数以get+要关联的数据表名来命名 // 这是获取下订单的客户 public function getUser(){ // 第一个参数为要关联的子表模型类名, // 第二个参数指定 通过

    yii2-upload-behavior:Yii 2的Fileimage上传行为

    此行为将自动上传文件,并使用上传文件名的值填充指定的属性。 安装 通过安装此扩展程序的首选方法。 无论运行 composer require --prefer-dist liyunfang/yii2-upload-behavior "*" 或将此代码行添加到composer....

    Yii CDBCriteria常用方法实例小结

    本文实例讲述了Yii CDBCriteria常用方法。分享给大家供大家参考,具体如下: ...这是Yii CDbCriteria的一些笔记和常用用法: 一、一个sql拼装的情况 Php代码: $criteria = new CDbCriteria; //函数方式 $

    Yii 2.0实现联表查询加搜索分页的方法示例

    最近在学习yii2.0,在使用yii2.0过程中遇到一些问题,现将查询搜索分页的方法整理如下,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 主表:{{%article}} 关联表:{{%article_class}} 方法如下 1、...

    yii2-sortable-behavior:排序ActiveRecords和相关记录

    Yii2可排序 该程序包包含五个类,用于处理ActiveRecords的排序: SortableGridView-扩展的GridView小部件; SortableListView-扩展的ListView小部件; 可排序-ActiveRecord行为,用于处理记录本身​​或一对多...

    yii2-arangodb:yii2 框架的 ArangoDB 组件

    Yii 2 的 ArangoDb 扩展...一般用法要使用此扩展,只需在应用程序配置中添加以下代码: return [ //.... 'components' => [ 'arangodb' => [ 'class' => '\devgroup\arangodb\Connection' , 'connectionOptions' => [

    详解Yii2.0使用AR联表查询实例

    Yii2.0中使用联表查询有两种办法,第一种是查询构建器(Query Builder),第二种使用活动记录(Active Record),中文网对查询构建器讲的很详细,AR则说的很坑爹,下面贴出自己实践的方法,以供参考。 两个表 {{%...

    yii2-classes:各种Yii 2班

    使用作曲家"amnah/yii2-classes": "dev-master" 。 目录 [行为/ SoftDelete](#softdelete) [Widgets / ExtListView](#extlistview) [Test / DbToDbFixtureManager](#dbtodbfixturemanager) 软删除 此类为...

    Yii2中的场景(scenario)和验证规则(rule)详解

    Yii2推荐使用Model类来收集和校验用户数据,持久化的ActiveRecord类是其子类。Model类的load和validate两个方法,分别用来收集和校验客户端数据。哪些数据应该被收集,哪些数据需要在什么场景下验证,便是本文的主题...

Global site tag (gtag.js) - Google Analytics