2016-06-20 3 views
1

私はすでに応答のキー "データ"を削除する方法についていくつかの例を検討しましたが、修正できません。Dingoのキーデータを削除する - フラクタル

私は変更にディンゴ

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

が提供するコールバックを使用してみました "$ fractal-> setSerializer(新しいCustomSerializerを);" "$フラクタル - > setSerializer(新しい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 
    ]; 
} 

でセットアップを含め単一の項目のキー "データ"を必要としませんでした。

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

しかし、私はそれを配列にしようとします。 User :: all()、レスポンスには "data"キーがあります。

ありがとうございました。

+0

私もこれを試してみました> ます$ this-> APP->バインド( 'ディンゴ\アピ\トランス\アダプタ\フラクタル'、関数($アプリ){$ フラクタル= $ APP-> $ serializer = new \ League \ Fractal \ Serializer \ ArraySerializer; $ fractal-> setSerializer($ serializer); 新しい\ Dingo \ Api \ Transformer \ Adapter \フラクタル($フラクタル); }); – chkm8

答えて

0

ArraySerializerで拡張されたクラスであるCustomSerializerが見つかりませんでした。このリンクのおかげでenter link description here

関連する問題