1

私の投稿モデルの形式は次のとおりです。

{
   "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 を使用しています。

4

2 に答える 2