php数据库访问辅助类,数据库访问类的实现

"该博客介绍了如何在PHP中创建一个名为SysDb的工具类,用于封装thinkDb库的常用操作,如查询、分页、添加、修改数据等。类中包含table、field、limit、order和where等方法,简化了在Controller中的数据库调用过程。"
摘要由CSDN通过智能技术生成

摘要:extend目录下面新建util目录,SysDb.php phpnamespaceUtil;use think\Db;期待的在controller中的调用方式class SysDb extends Controller{public function login(){$this->db = new SysDb;$this->db->table('adm

extend目录下面新建util目录,SysDb.php

php

namespaceUtil;

use think\Db;

期待的在controller中的调用方式

class SysDb extends Controller{

public function login(){

$this->db = new SysDb;

$this->db->table('admin')->where(array('id'=>1))->item();//单条

$this->db->table('admin')->where(array('id'=>1))->lists();//多条

class SysDb{

//指定表名

public function table(){

//清空

$this->where=[];

$this->field="*";

$this->order='';

$this->limit=0;

$this->table = $table;

return $this;

}

//查询数据字段

public function field($field = '*'){

$this->fidld=$field;

return $this;

}

//加载数量限制

public function limit($limit){

$this->limit = $limit;

return $this;

}

//排序

public function order($order){

$this->order = $order;

return $this;

}

//指定查询条件,封装where方法

public function where($where = []){

$this->where = $where;

return $this;

}

//查询一条记录,封装一个item方法

public function item(){

return Db::name($this->table)->field($this->field)->where($this->where)->find();

}

//返回多条记录,封装一个lists方法

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->pagenate($pageSize,$total);

return array('total'=>$total,'lists'=>$data->items(),'pages'=>$data->render());

}

//添加

public function inser($data){

return Db::name($this->table)->insertGetId($data);//会返回主键id

}

//批量添加数据

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);

}

}

批改老师:欧阳批改时间:2019-04-16 09:45:00

老师总结:完成的不错。还可以组装更多的操作语句,继续加油。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值