返回对数据库访问类......登陆

对数据库访问类封装SysDb

҈果҈果҈果҈ ҈ ҈2019-07-24 23:37:199
<?php
/**
 * Created by PhpStorm.
 * User: 普通用户
 * Date: 2019/7/24
 * Time: 21:22
 */

namespace Util;
use think\Db;

class SysDb
{
//    访问表名,初始化条件属性
    public function table($table){
        $this->where=[];
        $this->field='*';
        $this->order='';
        $this->limit=0;
        $this->table=$table;
        return $this;
    }

//    查询的字段默认为所有
    public function field($field='*'){
        $this->field=$field;
        return $this;
    }

//    查询记录数量
    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=[];
        foreach($lists as $key=>$value){
            $result[$value[$index]]=$value;
        }
        return $result;
    }

//    查询结果总数
    public function count(){
        return Db::name($this->table)->where($this->where)->count();
    }

    //分页
    public function pages($pageSize=10){
        $total=Db::name($this->table)->where($this->where)->count();
        $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());
    }

//    添加记录
    public function insert($data){
        return Db::name($this->table)->insertGetId($data);
    }

//    添加多条记录
    public function insertAll($data){
        return Db::name($this->table)->insertAll($data);
    }

//    删除操作
    public function delete(){
        return Db::name($this->table)->where($this->where)->delete();
    }

//    自减操作
    public function setDec($index,$value=1){
        $res=Db::name($this->table)->where($this->where)->setDec($index,$value);
        return $res;
    }
}


最新手记推荐

• 新闻模块对应模块的代码• 依赖注入小例子• 模板显示用户信息表,并分页显示• 模板继承,模仿php页面• 模拟用户登录验证的案例 依赖注入 Facade

全部回复(0)我要回复

暂无评论~
  • 取消回复发送
  • PHP中文网