Skip to content

Commit 2631241

Browse files
authored
Merge pull request #150 from padre/patch-1
[10.x] Fix scopes for Eloquent Relation - Exception: "TypeError"
2 parents f8b9a49 + c6a361a commit 2631241

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/Contracts/DataTableScope.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ interface DataTableScope
77
/**
88
* Apply a query scope.
99
*
10-
* @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder $query
10+
* @param \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Relations\Relation $query
1111
* @return mixed
1212
*/
1313
public function apply($query);

src/Services/DataTable.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Generator;
88
use Illuminate\Contracts\Support\Renderable;
99
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
10+
use Illuminate\Database\Eloquent\Relations\Relation as EloquentRelation;
1011
use Illuminate\Database\Query\Builder as QueryBuilder;
1112
use Illuminate\Http\JsonResponse;
1213
use Illuminate\Http\Response;
@@ -243,7 +244,7 @@ public function ajax(): JsonResponse
243244
{
244245
$query = null;
245246
if (method_exists($this, 'query')) {
246-
/** @var EloquentBuilder|QueryBuilder $query */
247+
/** @var EloquentBuilder|QueryBuilder|EloquentRelation $query */
247248
$query = app()->call([$this, 'query']);
248249
$query = $this->applyScopes($query);
249250
}
@@ -713,10 +714,10 @@ public function __get(string $key)
713714
/**
714715
* Apply query scopes.
715716
*
716-
* @param EloquentBuilder|QueryBuilder $query
717-
* @return EloquentBuilder|QueryBuilder
717+
* @param EloquentBuilder|QueryBuilder|EloquentRelation $query
718+
* @return EloquentBuilder|QueryBuilder|EloquentRelation
718719
*/
719-
protected function applyScopes(EloquentBuilder|QueryBuilder $query): EloquentBuilder|QueryBuilder
720+
protected function applyScopes(EloquentBuilder|QueryBuilder|EloquentRelation $query): EloquentBuilder|QueryBuilder|EloquentRelation
720721
{
721722
foreach ($this->scopes as $scope) {
722723
$scope->apply($query);

0 commit comments

Comments
 (0)