zoukankan      html  css  js  c++  java
  • Yii2框架增删改查类

    Yii2框架增删改查自定义类归纳:

    <?php
    namespace commonmodels;
    
    use Yii;
    
    
    class DB 
    {
        
        public static function query($sql,$a=''){
            $reslt = Yii::$app->db->createCommand($sql)->execute();
            return $reslt;
        }
    
    
        // 返回一行 (第一行) 如果该查询没有结果则返回 false
        public static function get_one($sql, $type = ''){
            $r = Yii::$app->db->createCommand($sql)->queryOne();
            if($type) return (object)$r;
            return $r;
        }
         
        // 返回一列 (第一列) 如果该查询没有结果则返回空数组
        public static function get_column($sql){
            $r = Yii::$app->db->createCommand($sql)->queryColumn(); 
    
            return $r;
        }
        
        // 返回一个标量值 如果该查询没有结果则返回 false
        public static function get_scalar($sql){
            $r = Yii::$app->db->createCommand($sql)->queryScalar();
            return $r;
        }
    
        // 返回多行. 每行都是列名和值的关联数组. 如果该查询没有结果则返回空数组
        public static function get_all($sql){
            $data = Yii::$app->db->createCommand($sql)->queryAll();
            return $data;
        }
        
        public static function limit($page=1,$total=10){
            return "limit " . (Yii::$app->request->post('page',$page) - 1) * Yii::$app->request->post('total',$total) . ", " . Yii::$app->request->post('total',$total);
        }
    
        public static function insertid(){
            return Yii::$app->db->getLastInsertID();
        }
    
        public static function nums($sql){
            return count(Yii::$app->db->createCommand($sql)->queryAll());
        }
        
        public static function dowith($str='')
        {
            $str = str_replace("'",".",$str);
            //$str = str_replace('"','',$str);
            return $str;
        }
                
        static function implode_field_value($array, $glue = ',') {
            $sql = $comma = '';
            foreach ($array as $k => $v) {
                $sql .= $comma."`$k`= '".DB::dowith($v)."'";
                $comma = $glue;
            }
            return $sql;
        }
    
        public static function insert($table, $data=[], $return_insert_id = false, $replace = false, $silent = false) {
            $sql = DB::implode_field_value($data);
            $cmd = $replace ? 'REPLACE INTO' : 'INSERT INTO';
            $silent = $silent ? 'SILENT' : '';
            DB::query("$cmd $table SET $sql", $silent);
            $insertid = DB::insertid();
            return $insertid;
        }
    
        public static function batchInsert($table, $data ) {
            foreach ($data as $val){
                DB::insert($table, $val);
            }
            return true;
        }
        
    
            
        public static function update($table, $data, $condition, $unbuffered = false, $low_priority = false) {
            $sql = DB::implode_field_value($data);
            $cmd = "UPDATE ".($low_priority ? 'LOW_PRIORITY' : '');
            $where = '';
            if(empty($condition)) {
                $where = '1';
            } elseif(is_array($condition)) {
                $where = DB::implode_field_value($condition, ' AND ');
            } else {
                $where = $condition;
            }
            $res = DB::query("$cmd $table SET $sql WHERE $where");
            return $res;
        }
        
    }
  • 相关阅读:
    Java中怎样由枚举常量的ordinal值获得枚举常量对象
    深入了解泛型
    艰苦的RAW格式数据恢复之旅
    eclipse 代码清理 代码格式化 代码凝视
    应用策略设计模式
    JavaEE SSH集成框架(两) struts2 本地加载dtd文件,action组态
    关闭表空间的热备份实例重新启动重现错误和解决
    CF 148D. Bag of mice (可能性DP)
    C++ Primer 学习笔记_45_STL实践与分析(19)--建筑常规算法
    工作的几点思考
  • 原文地址:https://www.cnblogs.com/jackzhuo/p/12978403.html
Copyright © 2011-2022 走看看