laravel5-fractal transformer转化器

魏元白
2023-12-01

使用以下命令将此包与composer一起使用:

composer require  league/fractal 0.17.0
composer require cyvelnet/laravel5-fractal

更新编写器后,将ServiceProvider添加到config / app.php中的providers数组

Cyvelnet\Laravel5Fractal\Laravel5FractalServiceProvider::class,

并注册Facade并可选择向aliases数组添加一个新行:

'Fractal' => Cyvelnet\Laravel5Fractal\Facades\Fractal::class

您还可以发布配置文件以更改适合您的实现。

php artisan vendor:publish --provider="Cyvelnet\Laravel5Fractal\Laravel5FractalServiceProvider"

cyvelnet/fractal 有一个有用的命令行来帮助您进行api转换,只需键入,您的Eloquent模型属性将自动添加到您的转换数组中

 //生成一个空的变换器
 php artisan make:transformer UserTransformer
 
 //生成一个建模的变换器
 php artisan make:transformer UserTransformer -m User

Fractal::item();
转换单个记录

$user = User::find(1);
Fractal::item($user, new UserTransformer());

Fractal::collection();
转换记录集合

$users = User::where('activated', true)->get();

// $resourceKey对于大多数序列化程序是可选的,但建议为JsonApiSerializer设置
$resourceKey = 'user';

Fractal::collection($users, new UserTransformer(), $resourceKey);

更多介绍
https://packalyst.com/packages/package/cyvelnet/laravel5-fractal

 类似资料: