thinkphp5 关联模型的聚合查询怎么操作,求实例。
phpcn_u16587
phpcn_u16587 2017-08-20 10:13:32
0
1
1449

有两个表:bill(票据)和detail(票据明细)

bill字段:billid(票据ID),billdate(开票日期),total(合计金额)...

detail字段:detailid(明细ID), billid(票据ID), amount(金额), incometype(收入类别)...

建立两个模型:

class Bill extends Model {

    //关联到票据明细表

    public function detail(){

        return $this->hasMany('Detail', 'billid');

    }

}

class Detail extends Model{

    //关联到票据表

    public function bill(){

        return $this->belongsTo('Bill', 'billid');

    }

}

问:若要使用模型对象,按票据明细表中的收入类别进行统计收入金额,该怎么写?

phpcn_u16587
phpcn_u16587

全部回复(1)
Peter_Zhu

显然,你将票据明细表当作了当前模型,票据表当做了关联模型。

关联模板默认为内联接查询。建议分为二步:

第一:根据票据ID,先进行关联查询获取到全部关联数据;

第二:将获取到的数据,按收入类别进行分组,然后再进行统计操作,注意用别名进行区分。

建议用闭包查询来简化操作。

如果不理解,可以再把官方手册有关于模型关联查询部分再仔细看看,或者看一下框架源码相关部分:

https://www.kancloud.cn/manual/thinkphp5/142358

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板