gpt4 book ai didi

php - 如何在 Laravel 中对连接查询进行分块

转载 作者:行者123 更新时间:2023-11-29 15:32:39 25 4
gpt4 key购买 nike

在我的 Laravel 应用程序中的某个位置,以下查询可能会返回非常大的结果集:

$data = $query->join('accommodation_rooms', 'accommodations.id', '=', 'accommodation_rooms.accommodation_id')
->join('discounts', 'accommodation_rooms.id', '=', 'discounts.accommodation_room_id')
->select('accommodation_rooms.id')
->orderBy('discounts.amount', 'desc')
->select('discounts.amount', 'accommodations.*')
->groupBy('discounts.amount', 'accommodation_rooms.id');
return $data;

我想知道如何更快地加载一部分数据,但稍后才加载其余数据,也许使用某种分页机制或其他东西。

鉴于数据是从 API 发送的,我想知道如何对这些数据进行分块。
谢谢。

最佳答案

您可以使用分页方法来实现此目的

$data = $query->join('accommodation_rooms', 'accommodations.id', '=', 'accommodation_rooms.accommodation_id')
->join('discounts', 'accommodation_rooms.id', '=', 'discounts.accommodation_room_id')
->select('accommodation_rooms.id')
->orderBy('discounts.amount', 'desc')
->select('discounts.amount', 'accommodations.*')
->groupBy('discounts.amount', 'accommodation_rooms.id')->paginate(15);

您可以更改分页函数给定参数中要获取的记录数,例如 15。

关于php - 如何在 Laravel 中对连接查询进行分块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58570106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com