php - 从一张 table 上得到 parent 并在 Laravel 中计算那里的 child

标签 php mysql laravel laravel-5

如何从一个表中选择所有的 parent 并统计他们有多少个 child

这是我的代码:

DB::table('wiki_page')
    ->where('wiki_page.parent_id', '=', null)
    ->get();

表格

 id  |   name  | parent_id
 -------------------------
 1   | Laravel |  null
 2   | PHP     |   1
 3   | Dingo   |   1
 4   | Lumen   |  null
 5   | Semver  |   4

最佳答案

我认为你必须这样做:

DB::table('wiki_page')->selectRaw('wiki_page.*, COUNT(wp.id) AS child')
    ->join('wiki_page AS wp','wiki_page.id','=','wp.parent_id')
    ->where('wiki_page.parent_id', '=', null)
    ->groupBy('wiki_page.id')
    ->get();

关于php - 从一张 table 上得到 parent 并在 Laravel 中计算那里的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40689760/

相关文章:

php - Codeigniter 在日期格式的 SQL 查询中自动添加反引号 (`` )/波浪号

php - 使用 PHPUnit 和 Mockery 进行 Laravel 测试 - 设置对 Controller 测试的依赖

php - 即使 postman 做对了,测试也无法正确断言请求

php - 检查 PHP 中解码的 JSON 字符串数组中是否有数字

mysql - WordPress数据库备份问题

c# - 从 C# 代码以波斯语发布时,在 mysql 数据库中插入 "????"

database - Laravel 使用数据库 : where does it need to be placed? 在模型中还是在 Controller 中?

php - 在 HTTP header 中设置到期日期或最长期限

php - 返回多个结果的 MySQL 子查询

php - 天花板函数的 PHP 代码