2016-06-20 33 views
1

我已經看過幾個關於如何在響應中刪除鍵「數據」的例子,但我無法修復它。刪除遊戲中的關鍵數據 - 分形

我試圖用由野狗提供的回調

return $this->collection($users, new UserTransformer, function ($resource, $fractal) { 
    $fractal->setSerializer(new ArraySerializer); 
}); 

在變化中 「$ fractal-> setSerializer(新CustomSerializer);」到「$ fractal-> setSerializer(new ArraySerializer);」因爲我沒有CustomSerializer(以及如何製作這個自定義序列化器?),基於分形文檔array serializer,但輸出有關鍵的「數據」。

我還測試了不同項目中的分形庫,並將ArraySerializer作爲序列化程序實現,並且工作正常。

我在配置丁格 - 分形時缺少什麼?

UPDATE * 我列入config

$this->app->bind('Dingo\Api\Transformer\Adapter\Fractal', function($app) { 
     $fractal = $app->make('\League\Fractal\Manager'); 
     $serializer = new \League\Fractal\Serializer\ArraySerializer(); 

     $fractal->setSerializer($serializer); 
     return new \Dingo\Api\Transformer\Adapter\Fractal($fractal); 
    }); 

而且在我的控制器

$obj = \App\EloquentModel\User::find(1); 
    return $this->response->item($obj, new UserTransformer); 

在我UserTransformer

public function transform(User $trans) 
{ 
    return [ 
     'id'   => (int) $trans->id, 
     'name'   => $trans->name, 
     'description' => $trans->description 
    ]; 
} 

安裝應用這些東西REM爲單個項目提供了關鍵的「數據」。

{ 
    "id": 1, 
    "name": "Juan", 
    "description": "The BOss" 
} 

但是,當我嘗試使它成爲一個數組。 User :: all(),響應具有「數據」鍵。

感謝。

+0

我也嘗試這個> $這 - > APP->綁定( '野狗\阿比\變壓器\適配器\分形',函數($應用){$ 分= $ APP-> ('\ League \ Fractal \ Manager'); $ serializer = new \ League \ Fractal \ Serializer \ ArraySerializer; $ fractal-> setSerializer($ serializer); return new \ Dingo \ Api \ Transformer \ Adapter \分形($ fractal); }); – chkm8

回答