Модель моего поста имеет следующий формат:
{
"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 явно не работает должным образом. Ключ "title" не заменяется ключом "name".
Что мне здесь не хватает? Я знаю, что может быть возможное дублирование этого поста, но решения в других вопросах, кажется, не работают для меня.
Я использую Laravel 6.x.