私はすでに応答のキー "データ"を削除する方法についていくつかの例を検討しましたが、修正できません。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"キーがあります。
ありがとうございました。
私もこれを試してみました> ます$ this-> APP->バインド( 'ディンゴ\アピ\トランス\アダプタ\フラクタル'、関数($アプリ){$ フラクタル= $ APP-> $ serializer = new \ League \ Fractal \ Serializer \ ArraySerializer; $ fractal-> setSerializer($ serializer); 新しい\ Dingo \ Api \ Transformer \ Adapter \フラクタル($フラクタル); }); – chkm8