From 70dfea3271bfa64a15bac39fa3fd3bf07f588b33 Mon Sep 17 00:00:00 2001 From: Wietse Warendorff Date: Thu, 22 May 2025 11:52:18 +0200 Subject: [PATCH] add missing type variables for eloquent-builder --- packages/actions/src/Exports/Exporter.php | 6 ++++++ packages/schemas/src/Components/Tabs/Tab.php | 7 +++++++ .../src/Tables/Columns/SpatieMediaLibraryImageColumn.php | 6 ++++++ .../src/Tables/Columns/SpatieTagsColumn.php | 6 ++++++ .../support/src/Contracts/TranslatableContentDriver.php | 6 ++++++ packages/tables/src/Filters/QueryBuilder.php | 9 +++++++++ .../BooleanConstraint/Operators/IsTrueOperator.php | 7 +++++++ packages/tables/src/Filters/SelectFilter.php | 5 +++++ 8 files changed, 52 insertions(+) diff --git a/packages/actions/src/Exports/Exporter.php b/packages/actions/src/Exports/Exporter.php index 440b52022d..f8b6bd4586 100644 --- a/packages/actions/src/Exports/Exporter.php +++ b/packages/actions/src/Exports/Exporter.php @@ -215,6 +215,12 @@ abstract class Exporter return $writer; } + /** + * @template TModel of Model + * + * @param Builder $query + * @return Builder + */ public static function modifyQuery(Builder $query): Builder { return $query; diff --git a/packages/schemas/src/Components/Tabs/Tab.php b/packages/schemas/src/Components/Tabs/Tab.php index ba5366f441..c34dc3b341 100644 --- a/packages/schemas/src/Components/Tabs/Tab.php +++ b/packages/schemas/src/Components/Tabs/Tab.php @@ -14,6 +14,7 @@ use Filament\Support\Concerns\HasIconPosition; use Filament\Support\Enums\IconPosition; use Illuminate\Contracts\Support\Htmlable; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; class Tab extends Component implements CanConcealComponents @@ -82,6 +83,12 @@ class Tab extends Component implements CanConcealComponents return $this; } + /** + * @template TModel of Model + * + * @param Builder $query + * @return Builder + */ public function modifyQuery(Builder $query): Builder { return $this->evaluate($this->modifyQueryUsing, [ diff --git a/packages/spatie-laravel-media-library-plugin/src/Tables/Columns/SpatieMediaLibraryImageColumn.php b/packages/spatie-laravel-media-library-plugin/src/Tables/Columns/SpatieMediaLibraryImageColumn.php index 9921d33615..c8e18350fc 100644 --- a/packages/spatie-laravel-media-library-plugin/src/Tables/Columns/SpatieMediaLibraryImageColumn.php +++ b/packages/spatie-laravel-media-library-plugin/src/Tables/Columns/SpatieMediaLibraryImageColumn.php @@ -164,6 +164,12 @@ class SpatieMediaLibraryImageColumn extends ImageColumn }); } + /** + * @template TModel of Model + * + * @param Builder|Relation $query + * @return Builder|Relation + */ public function applyEagerLoading(Builder | Relation $query): Builder | Relation { if ($this->isHidden()) { diff --git a/packages/spatie-laravel-tags-plugin/src/Tables/Columns/SpatieTagsColumn.php b/packages/spatie-laravel-tags-plugin/src/Tables/Columns/SpatieTagsColumn.php index d78be77e80..a2d649795b 100644 --- a/packages/spatie-laravel-tags-plugin/src/Tables/Columns/SpatieTagsColumn.php +++ b/packages/spatie-laravel-tags-plugin/src/Tables/Columns/SpatieTagsColumn.php @@ -86,6 +86,12 @@ class SpatieTagsColumn extends TextColumn return $this->getType() instanceof AllTagTypes; } + /** + * @template TModel of Model + * + * @param Builder|Relation $query + * @return Builder|Relation + */ public function applyEagerLoading(Builder | Relation $query): Builder | Relation { if ($this->isHidden()) { diff --git a/packages/support/src/Contracts/TranslatableContentDriver.php b/packages/support/src/Contracts/TranslatableContentDriver.php index 48263f8357..7958c2f8d1 100644 --- a/packages/support/src/Contracts/TranslatableContentDriver.php +++ b/packages/support/src/Contracts/TranslatableContentDriver.php @@ -32,5 +32,11 @@ interface TranslatableContentDriver */ public function updateRecord(Model $record, array $data): Model; + /** + * @template TModel of Model + * + * @param Builder $query + * @return Builder + */ public function applySearchConstraintToQuery(Builder $query, string $column, string $search, string $whereClause, ?bool $isSearchForcedCaseInsensitive = null): Builder; } diff --git a/packages/tables/src/Filters/QueryBuilder.php b/packages/tables/src/Filters/QueryBuilder.php index 5426827e48..cecfc2fa19 100644 --- a/packages/tables/src/Filters/QueryBuilder.php +++ b/packages/tables/src/Filters/QueryBuilder.php @@ -10,6 +10,7 @@ use Filament\Schemas\Schema; use Filament\Tables\Filters\QueryBuilder\Concerns\HasConstraints; use Filament\Tables\Filters\QueryBuilder\Forms\Components\RuleBuilder; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Model; use Illuminate\Validation\ValidationException; class QueryBuilder extends BaseFilter @@ -93,7 +94,11 @@ class QueryBuilder extends BaseFilter } /** + * @template TModel of Model + * + * @param Builder $query * @param array $rules + * @return Builder */ public function applyRulesToQuery(Builder $query, array $rules, RuleBuilder $ruleBuilder): Builder { @@ -131,7 +136,11 @@ class QueryBuilder extends BaseFilter } /** + * @template TModel of Model + * + * @param Builder $query * @param array $rules + * @return Builder */ public function applyRulesToBaseQuery(Builder $query, array $rules, RuleBuilder $ruleBuilder): Builder { diff --git a/packages/tables/src/Filters/QueryBuilder/Constraints/BooleanConstraint/Operators/IsTrueOperator.php b/packages/tables/src/Filters/QueryBuilder/Constraints/BooleanConstraint/Operators/IsTrueOperator.php index 810701a331..9c18632550 100644 --- a/packages/tables/src/Filters/QueryBuilder/Constraints/BooleanConstraint/Operators/IsTrueOperator.php +++ b/packages/tables/src/Filters/QueryBuilder/Constraints/BooleanConstraint/Operators/IsTrueOperator.php @@ -4,6 +4,7 @@ namespace Filament\Tables\Filters\QueryBuilder\Constraints\BooleanConstraint\Ope use Filament\Tables\Filters\QueryBuilder\Constraints\Operators\Operator; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Model; class IsTrueOperator extends Operator { @@ -31,6 +32,12 @@ class IsTrueOperator extends Operator ); } + /** + * @template TModel of Model + * + * @param Builder $query + * @return Builder + */ public function apply(Builder $query, string $qualifiedColumn): Builder { return $query->where($qualifiedColumn, ! $this->isInverse()); diff --git a/packages/tables/src/Filters/SelectFilter.php b/packages/tables/src/Filters/SelectFilter.php index 4987b3da78..8b1413d03a 100644 --- a/packages/tables/src/Filters/SelectFilter.php +++ b/packages/tables/src/Filters/SelectFilter.php @@ -5,6 +5,7 @@ namespace Filament\Tables\Filters; use Closure; use Filament\Forms\Components\Select; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Arr; use Znck\Eloquent\Relations\BelongsToThrough; @@ -131,7 +132,11 @@ class SelectFilter extends BaseFilter } /** + * @template TModel of Model + * + * @param Builder $query * @param array $data + * @return Builder */ public function apply(Builder $query, array $data = []): Builder {