YII进行数据查询及类库追踪

一般处理过程:


模型进行数据操作,继承自CActiveRecord (活跃记录)

AR数据库向上的封装。AR通过OOP面向对象方式操作数据库。AR须要终于转变为详细的sql语句。通过一个中间类(criteria标准)协助转为的详细sql语句。find、findAll 就是转化为这个类的一些属性

文件路径AR  : \framework\db\ar\CActiveRecord.php

能够看到非常多方法


打开findAll函数进行类库追踪到  这个\framework\db\schema\CDbCommandBuilder.php 文件

再次进行追踪到这个文件\framework\db\schema\CDbCriteria.php:

为什么这样追踪:

1


2


3


经常使用查询方法

以下是三种查询方式

    function actionCeshi(){
        $model = Goods::model();
        
        //$infos = $model -> findAllByPk(10);
        //$infos = $model -> findAllByPk(array(1,5,12));
        //
        
        //findAll($condition,$param)
        //$condition  就是sql语句的where条件
        //查询诺基亚手机而且价格大于500元
        //$infos = $model -> findAll("goods_name like '诺%' and goods_price>500");
        //为了避免sql注入的安全问题。sql语句里边最好不要直接写条件信息
        //$infos = $model -> findAll("goods_name like :name and goods_price>:price",array(':name'=>'诺%',':price'=>500));
         //
         
        //有的时候我们查询信息,
        //想要查询详细的"字段" select
        //想要查询详细的"条件" condition
        //想要查询详细的"排序" order
        //想要查询详细的"分组" group
        //想要查询详细的"限制" limit
        //想要查询详细的"偏移量" offset
        
        //$infos = $model -> findAll(array(
        //    'select'=>'goods_name,goods_price',
        //    'condition'=>"goods_name like '诺%'",
        //    'order'=>'goods_price desc',
        //    'limit'=>3,
        //    'offset'=>6,
        //));
        
         //
        //通过criteria实现信息的查询
        $criteria = new CDbCriteria();
        $criteria -> select = "goods_name,goods_price";
        $criteria -> condition = "goods_name like '摩%'";
        //$criteria -> limit = 6;
        $criteria -> order = "goods_price";
        $infos = $model -> findAll($criteria);
        
        
        $this ->renderPartial('show',array('goods_infos'=>$infos));
        
        //save()方法运行update或insert
        //$model -> save();
    }


全部控制器都继承CController,

l 父类Controller在哪了?



这个父类我们没有显示包括进程序里边,比方includerequre之类包括指令

l 那么这个父类控制器Controller我们在什么地方给包括进来的?

答:在Yii应用的主配置文件中边main.php,间接通过引入compoments组件文件夹进来的


l 那么主配置文件main.php在什么地方引入到我们的应用里边的呢?

答:在统一入口处index.php





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值