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

数据库访问类封装

黄志博2019-03-22 15:26:59219
<?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 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 ['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();
	}
}


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送