@hoofbeats it's not good way to returns so many records. Because if you'll have a lot of requests to returns 200,000 records at the same time - you server will die anyway. Force to use pagination
Jul 14, 2021
4
Level 1
Getting data Reset API
Hello everyone, how can I get 200,000 API records and not break the server :) Thanks
{
$items = [];
$contractNumber = $request->get('limit');
/** @var User[] $rows */
$rows = User::query()
->orderByDesc('created_at')
->limit($contractNumber)
->get();
foreach ($rows as $row) {
$items[] = $row->toArray();
}
return response()->json(['items' => $row]);
}
Level 55
@hoofbeats not sure I understand you.
Add page param to your request and use it to get the next pages
for example, for limit = 5000 and page = 2/3/4/...
$contractNumber = $request->get('limit');
$offset = ($request->get('page', 1) - 1) * $contractNumber
/** @var User[] $rows */
$rows = User::query()
->orderByDesc('created_at')
->limit($contractNumber)
->offset($offset)
->get();
Please or to participate in this conversation.