为了账号安全,请及时绑定邮箱和手机立即绑定

五十三章 TP51封装数据库访问类

标签:
ThinkPHP
<?php
namespace Util\data;
use think\Db;

class Sysdb{

   // 指定表名
   public function table($table){
      $this->where = array();
      $this->field = '*';
      $this->order = '';

      $this->table = $table;
      return $this;
   }

   // 指定查询字段
   public function field($field = '*'){
      $this->field = $field;
      return $this;
   }

   // 排序
   public function order($order){
      $this->order = $order;
      return $this;
   }

   // 指定查询条件
   public function where($where = array()){
      $this->where = $where;
      return $this;
   }

    public function group($group){
        $this->group = $group;
        return $this;
    }
//$products = $this->db->table('product')->field('name,SUM(price) AS prices')->group('name')->select();
    public function products(){
        $products = Db::name($this->table)->field($this->field)->group($this->group)->select();
        return $products ? $products : false;
    }
   // 返回一条记录
   public function item(){
      $item = Db::name($this->table)->field($this->field)->where($this->where)->find();
      return $item ? $item : false;
   }

   // 返回list
   public function lists(){
      $query = Db::name($this->table)->field($this->field)->where($this->where);
      $this->order && $query = $query->order($this->order);
      $lists = $query->select();
      return $lists ? $lists : false;
   }

   // 自定义索引列表
   public function cates($index){
      $query = Db::name($this->table)->field($this->field)->where($this->where);
      $this->order && $query = $query->order($this->order);
      $lists = $query->select();

      if(!$lists){
         return false;
      }
      $results = [];
      foreach ($lists as $key => $value) {
         $results[$value[$index]] = $value;
      }
      return $results;
   }

   // 分页
   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){
      $res = Db::name($this->table)->insert($data);
      return $res;
   }

   // 修改
   public function update($data){
      $res = Db::name($this->table)->where($this->where)->update($data);
      return $res;
   }

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

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-08-10
 * Time: 16:50
 */

namespace app\index\controller;
use think\Controller;
use app\index\model\Product as ProductModel;
class Product extends Controller
{
    public function query(){
        $products = ProductModel::field('name,SUM(price) AS prices')->group('name')->select();
       // $product = ProductModel::all();
       // $pro = ProductModel::sum('price');
       // dump($products);
        foreach ($products as $product) {
            echo '名称:'.$product->name.'<br>';
            echo '价格:'.$product->prices.'<br>';
        }
    }
}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消