Skip to content
This repository has been archived by the owner on Aug 28, 2020. It is now read-only.

Bring back the Illuminate pagination results to your Fractal serializer.

License

Notifications You must be signed in to change notification settings

pascalbaljetmedia/fractal-illuminate-paginator

Repository files navigation

Fractal Illuminate paginator

Latest Version on Packagist Software License Build Status Quality Score Total Downloads

The Fractal package serializes the paginator different than the Illuminate paginator. This trait brings the serialization of the Illuminate paginator back to a Fractal serializer. Extend your serializer of choice, use this trait and you're done!

Installation

You can install the package via composer:

composer require pbmedia/fractal-illuminate-paginator

Usage

Create your own Serializer and use the trait from this package:

<?php

namespace Pbmedia\App\Serializers;

use League\Fractal\Serializer\DataArraySerializer as BaseSerializer;
use Pbmedia\Serializers\FractalIlluminatePaginatorTrait;

class DataArraySerializer extends BaseSerializer
{
    use FractalIlluminatePaginatorTrait;
}

Without the trait, the pagination results will be like this:

{
	data: [{
		id: 1,
		...
	}, {
		id: 2,
		...
	}, ...],
	meta: {
		pagination: {
			total: 33,
			count: 15,
			per_page: 15,
			current_page: 1,
			total_pages: 3,
			links: {
				next: "http://project.dev/api/v1/company?page=2"
			}
		}
	}
}

With the trait, the pagination results will be like this, just as you would convert a Illuminate\Pagination\LengthAwarePaginator to JSON.

{
	data: [{
		id: 1,
	  	...
	}, {
		id: 2,
	  	...
	}, ...],
	meta: {
		pagination: {
			total: 33,
			per_page: 15,
			current_page: 1,
			last_page: 3,
			next_page_url: "http://project.dev/api/v1/company?page=2",
			prev_page_url: null,
			from: 1,
			to: 15
		}
	}
}

Security

If you discover any security related issues, please email pascal@pascalbaljetmedia.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Bring back the Illuminate pagination results to your Fractal serializer.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages