Skip to content

Instantly share code, notes, and snippets.

@Theodory
Forked from Repox/PaginationController.php
Created September 10, 2019 08:47
Show Gist options
  • Save Theodory/18c1b034d0aeb5085399ca6317162910 to your computer and use it in GitHub Desktop.
Save Theodory/18c1b034d0aeb5085399ca6317162910 to your computer and use it in GitHub Desktop.
Laravel 5 Pagination with transform
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
class PaginationController extends Controller
{
/**
* @param Request $request
* @return mixed
*/
public function index(Request $request)
{
// Results per page
$limit = 50;
// Creates an instance of Illuminate\Pagination\LengthAwarePaginator
$users = User::paginate($limit);
// getCollection() is a mathod available in Illuminate\Pagination\LengthAwarePaginator
// It retrivies the Collection instance the Paginator will iterate over, allowing you to
// use Collection methods. transform() modifies the collection itself.
$users->getCollection()->transform(function($user, $key) {
return [
'name' => $user->name,
'email' => $user->email,
'custom_attribute' => 'custom value',
];
});
return $result;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment