php - 如何让银行在 Laravel 中先拥有大量分支机构,然后再拥有少量分支机构
问题描述
我正在使用 Laravel Relation 列出我的银行分支机构和所有这些设置的层次结构如下所示
国家--hasMany->银行--hasMany->分支机构。
$country = Country::where("iso2", $this->app->request->route()->parameter('country'))->first();
这是国家模型中银行的关系代码:
public function banks()
{
return $this->hasMany(Bank::class);
}
银行模型中的分行关系代码
public function branches()
{
return $this->hasMany(Branch::class);
}
现在我的动机是我只想让这个国家的 15 家银行成为可验证的,但条件是拥有大量分支机构的银行将获得第一名。您能否为我提供任何带有 laravel 雄辩查询的简单解决方案,这对我来说将是一个很大的帮助。
解决方案
大家好,我使用 withCount 的解决方案,这是我的解决方案查询
$banks = Bank::where('country_id', $country->id)->withCount('branches')->having('branches_count', '>', 0)->orderBy('branches_count', 'DESC')->take(15)->get()->toArray();
推荐阅读
- c# - 如何使用 linq 将对象列表分成两半,然后将它们分组
- javascript - 反应更改用户名
- php - 如何使用 PHP 获取以“abcd”开头的 html 标签?
- mysql - 有没有办法优化这个查询
- python - 在几毫秒内加载 image.png
- php - 如何使用 PHP 和 FPDI 为 PDF 文件添加水印,仅用于打印?
- swift - 如何使用 Swiftui 从 firebase 获取登录用户的名字?
- swift - swift中tableview单元格之间的差距
- database - 内部如何处理 oracle clob?
- node.js - Node.js:如何将 HTTPS 请求发送到使用自签名证书的应用程序