abstract: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);
}
}
Correcting teacher:查无此人Correction time:2019-04-16 09:45:00
Teacher's summary:完成的不错。还可以组装更多的操作语句,继续加油。