nuwave/ember-eloquent

Laravel 包,用于将 API 响应转换为 ember-data 可读格式。

1.3.2 2015-07-22 21:39 UTC

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)

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');
  }
}