diff --git a/src/Filters/SortCollection.php b/src/Filters/SortCollection.php index 6cca17efd..3b3e903b9 100644 --- a/src/Filters/SortCollection.php +++ b/src/Filters/SortCollection.php @@ -52,7 +52,7 @@ public function inRepository(RestifyRequest $request, Repository $repository): s { $collection = static::make($repository::sorts())->merge( $repository::collectRelated()->mapIntoSortable($request) - ); + )->merge($repository::collectFieldSorts($request, $repository)); return $this->filter(fn (SortableFilter $filter) => $collection->contains('column', '=', $filter->column)); } diff --git a/src/Traits/InteractWithSearch.php b/src/Traits/InteractWithSearch.php index 5b3048407..2eb9b94dc 100644 --- a/src/Traits/InteractWithSearch.php +++ b/src/Traits/InteractWithSearch.php @@ -93,8 +93,6 @@ public static function collectSortables(RestifyRequest $request, Repository $rep */ public static function collectSorts(RestifyRequest $request, Repository $repository): SortCollection { - $fieldSorts = static::collectFieldSorts($request, $repository); - $requestSorts = (new SortCollection(explode(',', $request->input('sort', '')))) ->normalize() ->hydrateDefinition($repository, $request) @@ -103,7 +101,7 @@ public static function collectSorts(RestifyRequest $request, Repository $reposit ->hydrateRepository($repository); // Merge field sorts with request sorts and ensure it stays a SortCollection - return new SortCollection($requestSorts->merge($fieldSorts)); + return new SortCollection($requestSorts); } public static function collectFieldSorts(RestifyRequest $request, Repository $repository): Collection