基于Z-PHP框架的无限分类,封装了增删改查和统计,方便扩展数据表,可用于栏目分类及成员从属分类

这个扩展类依赖于 Z-PHP框架,项目地址在 码云下载

下载文件放在 core/lib/ext 下,也可根据需求修改命名空间放在对应目录下。

 

* 以下表名均不带前缀!

* 初始化:

$cat = new \ext\category('cat'); //参数cat是主表的表名(不带前缀)

可将数据库配置做为第二个参数传入,详见文档-数据模型-基本操作-数据库连接配置

 

* 获取错误信息:

$cat->error();

 

* 新增分类:

$newCat = ['title'=>'分类一','pid'=>0,'sort'=>0,...更多字段];

$cat->addCat($newCat); //返回新增分类

 

* 修改分类:

$editCat = ['cid'=>1,title'=>'分类一','pid'=>0,'sort'=>0,...更多字段];

$cat->setCat($editCat); //返回修改后的分类(cid字段必须)

 

* 删除分类:

$cat->delCat(1,false) //删除cid是1的分类(第一个参数cid可以是数组,第二个参数是否删除其下的子分类)

返回所删除分类的cid(数组)

 

* 查询:

$config = [

    'pid'=>0, //查询某个cid下的子分类 默认0

    'deep'=>0, //查询结果包含多少级子分类 默认0

    'order'=>'a.deep,userinfo.point DESC', //排序 格式:(表名.字段名 排序方式)多数情况下a.deep应该作为第一个排序,默认(a.deep,a.sort)

    'join'=>['userinfo'=>['title AS subtitle','name AS subname']], //关联表查询 格式:([表名1,表名2,表名3...])或者([表名1=>[字段1 AS 别名1,字段2,字段3...]])

    'assoc'=>false //是否按层次关系返回

];

$list = $cat->get($config);

 

* 统计:

$cid = [1,2]; //要统计的分类id,为数组时表示分别统计各分类

$cid = '1,2'; //为字符串时表示合并统计各分类

$field = '*,userpoint.point'; //要统计的字段,格式:(表名.字段名),统计主表字段时可省略表名只写字段名,多个字段用","分隔,*表示统计行数

$cat->sumCat($cid,$field,true); //第三个参数为真则是统计其下的子分类。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值