私の投稿モデルの形式は次のとおりです。
{
"id": 1,
"title": "Post Title",
"type: "sample"
}
これが私のコントローラーメソッドです:
public function show($id) {
$post = App\Post::find($id);
$transformedPost = new PostResource($post);
return $transformedPost;
}
これが私の PostResource の外観です。
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->title,
'type' => $this->convertType($this->type),
];
}
public function convertType($type)
{
return ucfirst($type);
}
したがって、show/1 応答では、次のようになります。
{
"id": 1,
"name": "Post Title",
"type: "Sample"
}
代わりに、私は得ています:
{
"id": 1,
"title": "Post Title",
"type: "sample"
}
したがって、私の PostResource は明らかに期待どおりに機能していません。キー「タイトル」はキー「名前」に置き換えられていません。
ここで何が欠けていますか?この投稿が重複する可能性があることはわかっていますが、他の質問の解決策はうまくいかないようです。
Laravel 6.x を使用しています。