Pagination with Laravel API Resource
Hi guys,
I need to send pagination data in response
Here is my controller
public function list(Request $request)
{
$jobs = $request->user()->jobs()->paginate(2);
$jobs = $jobs->map(fn($job) => new JobResource($job));
return response([
'message' => 'Employer jobs',
'data' => $jobs
]);
}
And here is resource
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'title' => $this->title,
'description' => $this->description,
'salary' => $this->salarySlot,
'experience' => $this->experienceSlot,
'created_at' => $this->created_at,
];
}
Take a look at the documentation: https://laravel.com/docs/10.x/eloquent-resources#pagination
You can do the following
use App\Http\Resources\UserCollection;
use App\Models\User;
Route::get('/users', function () {
return new UserCollection(User::paginate());
});
Which would translate for you to something like this...
return new JobResource($request->user()->jobs()->paginate(2));
Please or to participate in this conversation.