亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

封裝數(shù)據(jù)庫訪問類讓代碼更安全

asal 2019-05-09 11:24:38 246
abstrak:封裝數(shù)據(jù)庫訪問類,代碼更安全<?php /**  * Created by PhpStorm.  * User: Administrator  * Date: 2019/5/9  * Time: 9:40  */ namespace Util;

封裝數(shù)據(jù)庫訪問類,代碼更安全

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/5/9
 * Time: 9:40
 */
namespace Util;
use think\Db;

class SysDb
{
    //指定表名
    public function table($table){
        //清空where等查詢條件
        $this->where = [];
        $this->field = '*';
        $this->order = '';
        $this->limit = 0;

        $this->table = $table;
        return $this;
    }

    //指定查詢字段
    public function field($field = '*'){
        $this->field = $field;
        return $this;
    }

    //加載查詢數(shù)量
    public function limit($limit){
        $this->limit = $limit;
        return $this;
    }

    //如果有排序條件
    public function order($order){
        $this->order = $order;
        return $this;
    }

    //指定查詢條件
    public function where($where = []){
        $this->where = $where;
        return $this;
    }

    //返回一條記錄
    public function item(){
        return Db::name($this->table)->field($this->field)->where($this->where)->find();
    }

    //返回多條記錄
    public function lists(){
        $query = Db::name($this->table)->field($this->field)->where($this->where);
        $this->limit && $query = $query->limit($this->limit);
        $this->order && $query = $query->order($this->order);
        return $query->select();
    }

    //自定義索引方法
    public function cates($index){
        $query = Db::name($this->table)->field($this->field)->where($this->where);
        $this->limit && $query = $query->limit($this->limit);
        $this->order && $query = $query->order($this->order);
        $lists = $query->select();
        if(!$lists){
            return $lists;
        }
        $result = [];
        //有數(shù)據(jù)構(gòu)造新的數(shù)組$result
        foreach ($lists as $key=>$value){
            $result[$value[$index]] = $value;
        }
        return $result;
    }

    //分頁方法
    public function pages($pageSize = 10){
        $total = Db::name($this->table)->where($this->where)->count();              //數(shù)據(jù)總量$total
        $query = Db::name($this->table)->field($this->field)->where($this->where);
        $this->order && $query = $query->order($this->order);
        $data = $query->paginate($pageSize,$total);
        return array('total'=>$total,'lists'=>$data->items(),'pages'=>$data->render());
    }

    //添加數(shù)據(jù)
    public function insert($data){
        return Db::name($this->table)->insertGetId($data);
    }

    //批量插入數(shù)據(jù)的方法
    public function insertAll($data){
        return Db::name($this->table)->insertAll($data);
    }

    //修改更新數(shù)據(jù)的方法
    public function update($data){
        return Db::name($this->table)->where($this->where)->update($data);
    }

}


Guru membetulkan:天蓬老師Masa pembetulan:2019-05-09 13:56:57
Rumusan guru:這類封裝并不是出于安全考慮, 主要是考慮使用方便, 將常用操作封裝成方法, 利于后期代碼維護(hù)

Nota Keluaran

Penyertaan Popular