nuwave / ember-eloquent
Laravel 包,用于将 API 响应转换为 ember-data 可读格式。
1.3.2
2015-07-22 21:39 UTC
Requires
- illuminate/database: ~5.0
- illuminate/pagination: ~5.0
- illuminate/support: ~5.0
- league/fractal: 0.12.*
This package is not auto-updated.
Last update: 2024-09-14 17:31:54 UTC
README
简介
我最近一直在使用 Ember,并希望创建包括侧加载在内的 Ember Data 格式的响应。该项目利用了 Fractal 的 JsonApiSerializer,并对其进行了一些调整,以创建 ember-data 可消费的 JSON 响应。
这仍然是一个正在进行中的项目,请谨慎使用
安装
安装 composer 包
composer require nuwave/ember-eloquent
将服务提供者添加到 app.php 文件中
'NuWave\Serializers\SerializerServiceProvider',
发布配置文件
php artisan vendor:publish
创建您的模型转换器(Fractal)
使用您的应用程序命名空间编辑配置文件(可选:如果您的命名约定需要,您还可以添加后缀)
// config/ember.php return [ /* |--------------------------------------------------------------------- | Transformer Namespace |--------------------------------------------------------------------- | | Set the default namespace for your transformer | */ 'namespace' => 'MyApp\Transformers', /* |--------------------------------------------------------------------- | Transformer Suffix |--------------------------------------------------------------------- | | Set the suffix for your transformer naming convention. | | Default value is null */ 'suffix' => null ];
将 EmberTrait 添加到您的控制器中(或您的基类 Controller)。这将允许您使用 emberResponse 方法,该方法接收您的模型/集合以及模型名称,并将其转换为 ember-data 格式的响应。
class UserController extends Controller { use EmberTrait; public function index() { $users = User::all(); // or $users = User::paginate(20); // meta data will be included in response return $this->emberResponse($users, 'User'); } // ... public function show($id) { $user = User::find($id); return $this->emberResponse($user, 'User'); } }