pbmedia / fractal-illuminate-paginator

此包已被废弃且不再维护。未建议替代包。

将 Illuminate 分页结果重新引入到您的 Fractal 序列化器中

1.0.1 2016-08-02 09:35 UTC

This package is auto-updated.

Last update: 2020-09-12 13:16:36 UTC


README

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

Fractal 包以不同于 Illuminate 分页器的不同方式序列化分页器。此特性将 Illuminate 分页器的序列化重新引入到 Fractal 序列化器中。扩展您选择的序列化器,使用此特性,您就完成了!

安装

您可以通过 composer 安装此包

composer require pbmedia/fractal-illuminate-paginator

使用方法

创建您自己的 Serializer 并使用此包中的特性

<?php

namespace Pbmedia\App\Serializers;

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

class DataArraySerializer extends BaseSerializer
{
    use FractalIlluminatePaginatorTrait;
}

没有特性时,分页结果将如下所示

{
	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"
			}
		}
	}
}

有特性时,分页结果将如下所示,就像将 Illuminate\Pagination\LengthAwarePaginator 转换为 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
		}
	}
}

安全

如果您发现任何与安全相关的问题,请通过电子邮件 pascal@pascalbaljetmedia.com 而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件