[英]Laravel dingo/api custom transformer
我正在尝试为我的Post模型使用dingo api( https://github.com/dingo/api/wiki/Transformers#custom-transformation-layer )实现自定义转换器,但出现了以下异常:
在第298行的/home/.../vendor/league/fractal/src/Scope.php中调用的PostTransformer :: transform()缺少参数2
我的控制器:
$post = Post::findOrFail(2);
return $this->item($post, new PostTransformer);
我的PostTransformer类:
<?php
use Illuminate\Http\Request;
use Dingo\Api\Transformer\Binding;
use Dingo\Api\Transformer\TransformerInterface;
class PostTransformer implements TransformerInterface
{
public function transform($response, $transformer, Binding $binding, Request $request)
{
// Make a call to your transformation layer to transformer the given response.
return [
'kkk' => 'val'
];
}
}
怎么了?
您的PostTransformer不是变形金刚。 您指定的是一个TransformerLayer( https://github.com/dingo/api/wiki/Transformers#custom-transformation-layer )。
但是,Dingo中的Transformer看起来像这样:
<?php
use League\Fractal\TransformerAbstract;
class PostTransformer extends TransformerAbstract
{
public function transform(Post $post) {
return [
'id' => $post->id
// ...
];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.