• Yii 之数据库查询


    模型代码:

    <?php
    namespace appmodels;
    use yiidbActiveRecord;
    class Test extends ActiveRecord{
    
    }

    控制器代码:

        public function actionTest(){
            //方法一
            $sql = 'select * from test where id=:id';
            $data = Test::findBySql($sql,array(':id'=>1))->all();
            var_dump($data);//数组
    
            //方法二
            $data = Test::find()->where(['id'=>1])->all();
            var_dump($data);//复杂的对象信息
    
            // 查询条件>的使用
            $data = Test::find()->where(['>','id',1])->all();
            var_dump($data);//复杂的对象信息
    
            // 查询条件 between 的使用
            $data = Test::find()->where(['between','id',2,5])->all();
            var_dump($data);//复杂的对象信息
    
            // 查询条件 like 的使用
            $data = Test::find()->where(['like','title','title1'])->all();
            var_dump($data);//复杂的对象信息
    
            //查询结果对象转化为数组,使用asArray
            $data = Test::find()->where(['between','id',2,5])->asArray()->all();
            var_dump($data);//复杂的对象信息
    
            //批量查询,例如每次获取2条
            $data = array();
            foreach(Test::find()->asArray()->batch(2) as $tests){
                foreach($tests as $val){
                    $data[] = $val;
                }
            }
            print_r($data);
        }

    总结,主要注意防止sql注入的占位符的使用,各种查询条件的使用,转化数组的使用,批量查询的使用。

  • 相关阅读:
    责任链模式(Chain of Responsibility)
    模板模式(Template Method)
    组合模式(Composite Pattern)
    原型模式(Prototype Pattern)
    策略模式(Strategy Pattern)
    状态模式(State Pattern)
    增删改查
    安卓sql
    安卓第三次作业
    安卓第四周作业
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9100892.html
Copyright © 2020-2023  润新知