Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Doctrine Filter Paginator Laravel Package

verclam/doctrine-filter-paginator

A Laravel package that brings filtering and pagination to Doctrine queries. Build dynamic filters from request parameters, chain conditions onto query builders, and paginate results through a clean, reusable API for Doctrine-backed applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on filtered listing endpoints. verclam/doctrine-filter-paginator targets a recurring, low-differentiation problem: taking arbitrary request filters, applying them to a Doctrine query, and returning a paginated result set. That is typically 1–3 sprints of bespoke code per surface if built in-house. This package is a candidate to collapse that to a dependency.
  • Feature work it unblocks. Admin/back-office data tables, internal reporting views, search-and-filter API endpoints, and any read path where the domain layer is Doctrine rather than Eloquent. These are usually prerequisites for ops tooling and customer-facing list views, so it can sit on the critical path for a roadmap item.
  • Architecture decision: Doctrine in a Laravel codebase. The package is only relevant if the team has already (or is deliberately choosing to) run Doctrine ORM alongside or instead of Eloquent — e.g. laravel-doctrine, a legacy/DDD-oriented domain layer, or a migration off a Symfony service. Adopting it is therefore a consequence of an architecture call more than a driver of one.
  • Roadmap timing signal: do not schedule production commitments on it. This is v0.0.1 — the first public tag. Under SemVer, 0.0.x explicitly offers no compatibility guarantee. It belongs in a spike or an internal tool, not in a committed Q-plan for a revenue-bearing path.
  • Vendor/dependency risk decision. A single-maintainer, pre-1.0 package with release notes consisting solely of a changelog link is a real (if small) ongoing maintenance cost. The decision to record is whether the saved engineering time outweighs owning a fork later.

When to Consider This Package

Consider it when:

  • Your application already uses Doctrine ORM (not just doctrine/dbal for schema introspection) and you have read endpoints that need filter parsing plus pagination.
  • You are writing the same filter-to-query and paginate boilerplate for the third time and it is drifting between endpoints.
  • The consumer is an internal tool, admin panel, or prototype where a breaking change in a 0.0.x bump costs you an afternoon, not an incident.
  • Your team is small enough that one less bespoke subsystem is worth more than full control over its internals.
  • You are willing to pin an exact version and wrap the package behind your own interface so it can be swapped or forked.

Look elsewhere when:

  • You are on standard Eloquent. Laravel's built-in pagination plus query scopes, or a mature query-builder filter package, is the lower-risk answer; this package solves a problem you do not have.
  • You are on Symfony with native Doctrine — the framework's own tooling and established paginator libraries are the idiomatic choice.
  • You need a stable public API, a deprecation policy, security disclosure process, or SLAs. v0.0.1 offers none of these, and the release note gives no indication of when 1.0 arrives.
  • You need evidence of production use. None is available from this release: no feature description, no changelog detail, no usage docs referenced, no test/coverage signal.
  • Filter semantics are safety-critical (e.g. authorization-scoped filtering, tenant isolation). Hand-rolled or vendored code you can audit line-by-line is preferable to an unaudited pre-1.0 dependency on an access-control boundary.

Before adopting, get answers to: supported Laravel and Doctrine versions, whether filters are whitelisted (arbitrary user-supplied filter keys mapped into DQL is an injection and data-exposure surface), test coverage, and maintainer commitment beyond the initial tag.

How to Pitch It (Stakeholders)

For executives — one paragraph. This is a small, free, open-source component that removes repetitive plumbing from a specific class of feature: filtered, paginated lists of data. It is worth a short, time-boxed evaluation because the alternative is engineers hand-building the same thing repeatedly. It is not worth putting on a delivery commitment yet — it is a first public release (v0.0.1) from a single maintainer, with no stability guarantees and no track record. Recommendation: fund a one-to-two-day spike against a real internal screen, not a production rollout.

For engineering — the technical case. It bundles two things teams keep rewriting: a filter layer that maps request parameters onto a Doctrine query, and a paginator over the resulting query. If we already run Doctrine in this codebase, that is directly reusable. Two conditions on adoption: pin the exact version and put it behind our own narrow interface so a 0.0.x break, or a fork, is a contained change; and confirm the filter layer whitelists allowed keys rather than passing user input into the query builder. Keep it out of authorization-scoped queries until we have read the source.

For the sponsor signing off on the dependency. The cost of adopting is near zero; the cost of depending on it is a low, ongoing maintenance tax we may eventually pay by vendoring the code. The asymmetry favors trying it in a non-critical path and revisiting at 1.0 or after six months of visible maintenance.


Assessment basis: v0.0.1 release only. The published notes contain no feature summary, breaking-change detail, or deprecation notice — just a changelog link — so capability claims above are inferred from the package name and problem domain, not from released documentation. Confidence: low. Revisit when the project publishes substantive release notes, a README with supported-version matrix, or reaches a 1.0 tag.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings