数据库访问类的封装

原创 2019-01-19 12:49:37 211
摘要:<?php namespace Util; use think\Db; class SysDb{ // 指定表名 public function table($table){ $this->where = []; $this->field = '*';
<?php
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 update($data){
		return Db::name($this->table)->where($this->where)->update($data);
	}
	// 删除
	public function delete(){
		return Db::name($this->table)->where($this->where)->delete();
	}
}


批改老师:查无此人批改时间:2019-01-19 13:47:15
老师总结:作业做的不错,下次我开发功能,就拿你封装好的试试。继续加油。

发布手记

热门词条