• thinkPHP5.0联表查询和统计文章的图片(栏目文章)数量


    public function index()
    {
    //获取内容列表信息
    $res = db('article')->alias('a')
    ->join('category b', 'b.id=a.cid')
    ->join('pics c','c.aid=a.id','LEFT')
    ->order('a.istop desc,a.addtime Desc,a.addtime Desc')
    ->field('a.*,b.name,count(c.pic) as pic')
    ->group('a.id')
    ->paginate(4);
    $this->assign('list', $res);
    return view('article_list');
    }
    alias('当前数据表的别名'),用于设置当前数据表的别名,便于使用其他的连贯操作
    join('表名 别名',关联条件,'关联类型'),用于根据两个或多个表中的列之间的关系,从这些表中查询数据,关联类型可以为空默认为INNER,不区分大小写
    关联类型有
    1、INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行
    2、LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
    3、RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
    4、FULL JOIN: 只要其中一个表中存在匹配,就返回行
    group()通常用于结合合计函数,根据一个或多个列对结果集进行分组,group方法只有一个参数,并且只能使用字符串
    field()中内容表示查找a表的全部字段和b表的name字段,count()统计c表的图片数量并且给别名为pic(模板渲染时用{$vo.pic}),group()以a表id为分组
  • 相关阅读:
    Java解析复杂xml文件,使用Xpath
    表达式求值
    解决 error CS0012 错误
    mssql sqlserver 分组排序函数row_number、rank、dense_rank用法简介及说明
    c#核心基础
    Git源代码管理
    CASE 表达式
    NPM -- 初探--01
    ASP.NET Zero--基础设施
    ASP.NET Zero--基于令牌的认证&SWAGGER UI
  • 原文地址:https://www.cnblogs.com/YAN-HUA/p/9036824.html
Copyright © 2020-2023  润新知