【发布时间】:2022-01-22 05:58:58
【问题描述】:
假设我有这样一个结构:
城市:
- 身份证
- 姓名
- 属于(国家)
国家:
- 身份证
- 姓名
如何获得按国家/地区名称排序的分页城市列表?
我是怎么看的:
$res = City::query()->join('countries', 'country_id', '=', 'countries.id')->orderBy('countries.name')->paginate($records_per_page, ['*'], 'page', $page_number);
或
$res = City::query()->with('country')->orderBy('country.name')->paginate($records_per_page, ['*'], 'page', $page_number);
我也看到了在得到查询结果后对集合进行排序的解决方案,但我认为分页时会更糟。
什么是正确的方法?
【问题讨论】:
标签: laravel sorting eloquent laravel-pagination laravel-relations