Как избавиться от вложенного массива data при передаче Api Resource во вью компонент с помощью Inertia?

Я использую Laravel 9, Jetstream, Inertia, Vue 3.

Я создал АПИ ресурс для модель Project и пытаюсь их получить во ВЬЮ компоненте с помощью Инерции.

$projects = ProjectResource::collection(Project::get());

return Inertia::render('Project/Edit', compact('projects'));

В Vue в пропсе «project» я получаю вложенный массив «data», и в нем уже проекты.

projects: 
data:Array[2]
0:Object
1:Object

Но это неправильно. Мне не нужен вложенный массив data. Мне сразу нужны модели в пропсе, как это передается во вью без использования Инерции. Т.е. должно быть так

projects:
0:Object
1:Object

Я не хочу получать доступ в vue через «projects.data» Как добиться нормальной передачи данных используя апи ресурсы?


Ответы (1 шт):

Автор решения: Alex

В документации написано решение Laravel Resources API Нужно прописать JsonResource::withoutWrapping(); в провайдере

→ Ссылка