多级分类,如何像children一样把每级的面积数area算出来啊?

数据库多级分类
数据库模型Building表名buildings

id、parent_id、level、title、area
1       0        0     B1NULL
2       1        1     一层   NULL
3       2        2     101105
4       2        2     102102
5       2        2     103120
6       2        1     二层   NULL
7       6        2     201120
8       6        2     202100

多级分类children

public function childCategory()
{
 return $this->hasMany('App\Models\Building', 'parent_id', 'id');
}

public function children()
{
 return $this->childCategory()->with('children')->orderBy('sort', 'asc');
}

如何像children一样把每级的房间面积数汇总area算出来啊?我用了resource 只算出第一级的面积,里面的children如何计算,能否指导下啊?

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

可以借助于数据库本身的trigger,在insert,delete,update的时候更新父级的面积。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!