Skip to content

[doctrine] Scope RequireQueryBuilderOnRepository to repository classes only - #306

Merged
TomasVotruba merged 1 commit into
mainfrom
doctrine-query-builder-repo-scope
Sep 23, 2026
Merged

TomasVotruba merged 1 commit into
mainfrom
doctrine-query-builder-repo-scope

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

The doctrine.requireQueryBuilderOnRepository rule fired on every ->createQueryBuilder() call that was not on a repository/connection type, regardless of where it lived.

That flagged service, model, controller and test classes, where an EntityManager createQueryBuilder() is the natural form and $this->createQueryBuilder() does not exist - pure false positives that could only be silenced with an ignore.

Now the rule only reports inside repository classes (subclasses of EntityRepository / DocumentRepository), where $this->createQueryBuilder() is a real, safer swap. Outside repositories it stays silent.

  • gate added via Scope::getClassReflection()
  • reporting fixtures moved into repository classes
  • added SkipNonRepositoryClass covering the silenced service case

@TomasVotruba
TomasVotruba merged commit a0fd00d into main Sep 23, 2026
8 checks passed
@TomasVotruba
TomasVotruba deleted the doctrine-query-builder-repo-scope branch September 23, 2026 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant