When you want to map paginated data and return only a subset of the fields, use through rather than map. The map breaks the pagination object and changes it's identity. While, through works on the paginated data itself
// Don't: Mapping paginated data$employees = Employee::paginate(10)->map(fn ($employee) => [ 'id' => $employee->id, 'name' => $employee->name]) // Do: Mapping paginated data$employees = Employee::paginate(10)->through(fn ($employee) => [ 'id' => $employee->id, 'name' => $employee->name])
Tip given by @bhaidar
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
Laravel Coding with AI Agents: Cursor, Claude Code, Codex
5 lessons
1 h 01 min
Laravel 12 For Beginners: Your First Project
15 lessons
1 h 32 min
Claude Code for Laravel Projects: Crash Course
8 lessons
48 min