From a0418eb6c8a5f46b6d479c44e6ee1fbdd40fd8bf Mon Sep 17 00:00:00 2001 From: Ondrej Mirtes Date: Sat, 24 Oct 2026 10:19:49 +0200 Subject: [PATCH] fix(database): declare TModel template on where-builder traits Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01FbAUWcmATbQhrWDPZrVGSg --- .../database/src/Builder/QueryBuilders/CountQueryBuilder.php | 3 +++ .../src/Builder/QueryBuilders/DeleteQueryBuilder.php | 3 +++ .../Builder/QueryBuilders/HasWhereQueryBuilderMethods.php | 5 +++++ .../src/Builder/QueryBuilders/HasWhereRelationMethods.php | 3 +++ .../src/Builder/QueryBuilders/SelectQueryBuilder.php | 3 +++ .../src/Builder/QueryBuilders/UpdateQueryBuilder.php | 3 +++ phpstan-baseline.neon | 4 ---- 7 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/database/src/Builder/QueryBuilders/CountQueryBuilder.php b/packages/database/src/Builder/QueryBuilders/CountQueryBuilder.php index d665ec45e1..fc04f40d6c 100644 --- a/packages/database/src/Builder/QueryBuilders/CountQueryBuilder.php +++ b/packages/database/src/Builder/QueryBuilders/CountQueryBuilder.php @@ -26,7 +26,10 @@ final class CountQueryBuilder implements BuildsQuery, SupportsWhereStatements { use HasConditions; use OnDatabase; + + /** @use HasWhereQueryBuilderMethods */ use HasWhereQueryBuilderMethods; + use TransformsQueryBuilder; private CountStatement $count; diff --git a/packages/database/src/Builder/QueryBuilders/DeleteQueryBuilder.php b/packages/database/src/Builder/QueryBuilders/DeleteQueryBuilder.php index 49a29ee4ab..6103c39dca 100644 --- a/packages/database/src/Builder/QueryBuilders/DeleteQueryBuilder.php +++ b/packages/database/src/Builder/QueryBuilders/DeleteQueryBuilder.php @@ -22,7 +22,10 @@ final class DeleteQueryBuilder implements BuildsQuery, SupportsWhereStatements { use HasConditions; use OnDatabase; + + /** @use HasWhereQueryBuilderMethods */ use HasWhereQueryBuilderMethods; + use TransformsQueryBuilder; private DeleteStatement $delete; diff --git a/packages/database/src/Builder/QueryBuilders/HasWhereQueryBuilderMethods.php b/packages/database/src/Builder/QueryBuilders/HasWhereQueryBuilderMethods.php index 77510d5081..deff32f9a5 100644 --- a/packages/database/src/Builder/QueryBuilders/HasWhereQueryBuilderMethods.php +++ b/packages/database/src/Builder/QueryBuilders/HasWhereQueryBuilderMethods.php @@ -10,9 +10,14 @@ use function Tempest\Support\str; +/** + * @template TModel + */ trait HasWhereQueryBuilderMethods { use HasConvenientWhereMethods; + + /** @use HasWhereRelationMethods */ use HasWhereRelationMethods; /** diff --git a/packages/database/src/Builder/QueryBuilders/HasWhereRelationMethods.php b/packages/database/src/Builder/QueryBuilders/HasWhereRelationMethods.php index 83ed7acc4f..23d9856d79 100644 --- a/packages/database/src/Builder/QueryBuilders/HasWhereRelationMethods.php +++ b/packages/database/src/Builder/QueryBuilders/HasWhereRelationMethods.php @@ -13,6 +13,9 @@ use function Tempest\Support\arr; use function Tempest\Support\str; +/** + * @template TModel + */ trait HasWhereRelationMethods { /** diff --git a/packages/database/src/Builder/QueryBuilders/SelectQueryBuilder.php b/packages/database/src/Builder/QueryBuilders/SelectQueryBuilder.php index 003350760b..ed34c9162d 100644 --- a/packages/database/src/Builder/QueryBuilders/SelectQueryBuilder.php +++ b/packages/database/src/Builder/QueryBuilders/SelectQueryBuilder.php @@ -49,7 +49,10 @@ final class SelectQueryBuilder implements BuildsQuery, SupportsWhereStatements, { use HasConditions; use OnDatabase; + + /** @use HasWhereQueryBuilderMethods */ use HasWhereQueryBuilderMethods; + use TransformsQueryBuilder; public ModelInspector $model; diff --git a/packages/database/src/Builder/QueryBuilders/UpdateQueryBuilder.php b/packages/database/src/Builder/QueryBuilders/UpdateQueryBuilder.php index 8557b54c54..77f956e520 100644 --- a/packages/database/src/Builder/QueryBuilders/UpdateQueryBuilder.php +++ b/packages/database/src/Builder/QueryBuilders/UpdateQueryBuilder.php @@ -44,7 +44,10 @@ final class UpdateQueryBuilder implements BuildsQuery, SupportsWhereStatements { use HasConditions; use OnDatabase; + + /** @use HasWhereQueryBuilderMethods */ use HasWhereQueryBuilderMethods; + use TransformsQueryBuilder; private UpdateStatement $update; diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 65e3eb267f..e7eeef7af6 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -21,10 +21,6 @@ parameters: identifier: property.phpDocType paths: - packages/database/src/Builder/* - - - identifier: class.notFound - paths: - - packages/database/src/Builder/* # End of database ignores -