From 57292ab8de4dc5596a5fefa1f31d78a01f5f1b89 Mon Sep 17 00:00:00 2001 From: James Collins Date: Wed, 29 Mar 2023 14:56:45 +1000 Subject: [PATCH] responseAsResource suppports group name override --- app/Http/Controllers/Api/ApiController.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/ApiController.php b/app/Http/Controllers/Api/ApiController.php index 9cb5269..656141a 100644 --- a/app/Http/Controllers/Api/ApiController.php +++ b/app/Http/Controllers/Api/ApiController.php @@ -124,6 +124,7 @@ class ApiController extends Controller * @param array|Model|Collection $data Resource data. * @param boolean $isCollection If the data is a group of items. * @param array|null $appendData Data to append to response. + * @param string|null $resourceName The resource name to group the result. * @param integer $respondCode Resource code. * @return \Illuminate\Http\JsonResponse */ @@ -131,15 +132,18 @@ class ApiController extends Controller mixed $data, bool $isCollection = false, mixed $appendData = null, + string $resourceName = null, int $respondCode = HttpResponseCodes::HTTP_OK ) { if ($data === null || ($data instanceof Collection && $data->count() === 0)) { return $this->respondNotFound(); } - $resourceName = $this->resourceName; + if(is_null($resourceName) === true || empty($resourceName) === true) { + $resourceName = $this->resourceName; + } - if ($this->resourceName === '') { + if(is_null($resourceName) === true || empty($resourceName) === true) { $resourceName = get_class($this); $resourceName = substr($resourceName, (strrpos($resourceName, '\\') + 1)); $resourceName = substr($resourceName, 0, strpos($resourceName, 'Controller'));