php - Laravel withCount 包含 null 关系

标签 php mysql laravel eloquent

我希望 withCount 包含不存在关系的计数。

例如,假设我有一个名为 people 的表和一个名为 pets 的表。

people 有许多 pets,但 pets 可以有一个 null people_id。我想获取每个 peoplepets 数量,但我也想包括没有 people_id 的 pets .

我知道我可以简单地执行 People::withCount('pets')->get() 操作,但这不包括 null pets 的计数 people_id

我正在寻找的结果是这样的:

person_name | pets_count
John        | 2
Mike        | 3
Joan        | 0
NULL        | 20

我希望这是有道理的。

最佳答案

在这种情况下,您可以使用ROLLUP。试一试。它可能对你有帮助。

People::withCount('pets')->groupBy(\DB::raw('id WITH ROLLUP'))->get();

了解更多请查看this

关于php - Laravel withCount 包含 null 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854972/

相关文章:

php - 尝试回应准备好的声明

mysql - Flask 内部 Web 应用程序在 python 上运行一段时间后死掉

css - Bulma 无法在 Laravel 5.6 上工作

jquery - 使用 jquery 最简单的拖放文件 uploader 插件

php - 如何在 4 个日期期间、2 个开始日期和 2 个结束日期之间进行预防和验证

php - 获取上周三午夜的unix时间戳

php - 如何修改SonarQube中的现有规则?

php - 数据库条目被删除

MySQL错误代码: 1300.无效的utf8字符串: '',unicode字符前面有 '\'

mysql - 如何为 SQL 查询编写 JOIN?