From 216beccc8a3d7e10744e2b73ca37ee144946c190 Mon Sep 17 00:00:00 2001 From: Arjay Angeles Date: Mon, 20 Feb 2023 16:20:05 +0800 Subject: [PATCH] fix: scopes on api resource related: https://github.com/yajra/laravel-datatables/pull/2944 --- src/Contracts/DataTableScope.php | 2 +- src/Services/DataTable.php | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Contracts/DataTableScope.php b/src/Contracts/DataTableScope.php index c129a98..d6d59c3 100644 --- a/src/Contracts/DataTableScope.php +++ b/src/Contracts/DataTableScope.php @@ -7,7 +7,7 @@ interface DataTableScope /** * Apply a query scope. * - * @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Relations\Relation|\Illuminate\Support\Collection $query + * @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Relations\Relation|\Illuminate\Support\Collection|\Illuminate\Http\Resources\Json\AnonymousResourceCollection $query * @return mixed */ public function apply($query); diff --git a/src/Services/DataTable.php b/src/Services/DataTable.php index 4c408a4..8fa4753 100644 --- a/src/Services/DataTable.php +++ b/src/Services/DataTable.php @@ -10,6 +10,7 @@ use Illuminate\Database\Eloquent\Relations\Relation as EloquentRelation; use Illuminate\Database\Query\Builder as QueryBuilder; use Illuminate\Http\JsonResponse; +use Illuminate\Http\Resources\Json\AnonymousResourceCollection; use Illuminate\Http\Response; use Illuminate\Support\Collection; use Illuminate\Support\LazyCollection; @@ -709,12 +710,10 @@ public function __get(string $key) /** * Apply query scopes. - * - * @param EloquentBuilder|QueryBuilder|EloquentRelation|Collection $query - * @return EloquentBuilder|QueryBuilder|EloquentRelation|Collection */ - protected function applyScopes(EloquentBuilder|QueryBuilder|EloquentRelation|Collection $query): EloquentBuilder|QueryBuilder|EloquentRelation|Collection - { + protected function applyScopes( + EloquentBuilder|QueryBuilder|EloquentRelation|Collection|AnonymousResourceCollection $query + ): EloquentBuilder|QueryBuilder|EloquentRelation|Collection|AnonymousResourceCollection { foreach ($this->scopes as $scope) { $scope->apply($query); }