@maulayyacyber The collection will just be converted to json on the response so you could possibly just do something like this...
return [
'collection' => CategoryResource::collection($categories),
'success' => true,
...
];
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi everyone, i have question about Api Resource on Laravel, so i want to set meta data additional on top response.
my controller
public function index()
{
$categories = Category::latest()->paginate();
//return JSON with Resource
return CategoryResource::collection($categories)
//add meta on Api Resource
->additional([
'success' => true,
'message' => 'List Data Categories'
]);
}
response
{
"data": [
{
"id": 3,
"name": "Bencana Alam",
"slug": "bencana-alam",
"image": "http://backend-donasi.test/storage/categories/IWDbkYbKHLb6fZZVzPMQoBBYrQ0R9h9DVuRKfAbY.png",
"created_at": "2021-01-21T07:19:30.000000Z",
"updated_at": "2021-01-21T07:19:30.000000Z"
}
],
"links": {
"first": "http://backend-donasi.test/api/category?page=1",
"last": "http://backend-donasi.test/api/category?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://backend-donasi.test/api/category?page=1",
"label": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "http://backend-donasi.test/api/category",
"per_page": 15,
"to": 1,
"total": 1
},
"success": true,
"message": "List Data Categories"
}
i want return response, like this
{
"success": true,
"message": "List Data Categories",
"data": [
{
"id": 3,
"name": "Bencana Alam",
"slug": "bencana-alam",
"image": "http://backend-donasi.test/storage/categories/IWDbkYbKHLb6fZZVzPMQoBBYrQ0R9h9DVuRKfAbY.png",
"created_at": "2021-01-21T07:19:30.000000Z",
"updated_at": "2021-01-21T07:19:30.000000Z"
}
],
"links": {
"first": "http://backend-donasi.test/api/category?page=1",
"last": "http://backend-donasi.test/api/category?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://backend-donasi.test/api/category?page=1",
"label": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "http://backend-donasi.test/api/category",
"per_page": 15,
"to": 1,
"total": 1
}
}
any solution for me ?
thanks very much
Please or to participate in this conversation.