useless-soft/queries-doctrine
Doctrine ORM adapter for useless-soft/queries, applying reusable query filters and criteria to Doctrine query builders. Adds Doctrine support to a composable query-object abstraction. Small, low-adoption package (2 stars); review maintenance status and docs before use.
This package is best treated as evidence for a design decision, not as a dependency decision. It is a small Doctrine ORM adapter for the useless-soft/queries query-bus abstraction — i.e., it lets read-side "query objects" be handled by Doctrine instead of scattering bespoke repository methods. At 2 stars, zero dependents, and archived status, the signal is too weak to justify a procurement or architecture commitment, but it is still useful input to the following decisions:
QueryBus interface with per-storage adapters (Doctrine ORM, DBAL, Elasticsearch). That informs whether we standardize a query-object convention internally rather than adopting a vendor.Consider it only under a narrow conjunction of conditions:
useless-soft/queries as our query bus and need the Doctrine ORM adapter specifically.NOASSERTION, which is a legal/procurement blocker, not a footnote; no production dependency should ship until counsel clears it.Look elsewhere — or build — when any of the following hold:
QueryBuilder/specification patterns, or the sibling useless-soft DBAL/Elasticsearch adapters if we ever go all-in on that bus.Executives: This is not a vendor adoption proposal. The library is archived, has two stars, no downstream users, and an unclear license — so the recommendation is do not add it as a production dependency. Instead, treat it as a free design reference for a read-side query layer. Proposed ask: a 1–2 day spike to prototype an in-house query-object convention, versus an open-ended maintenance liability from forking an abandoned package. Expected outcome is a small, owned abstraction with no licensing or support exposure.
Engineering: The package demonstrates a clean query-bus-with-adapters seam worth copying: read-only query objects, one handler per query, storage adapters behind an interface. The code is small enough to review in an afternoon and to reimplement rather than fork. Risks to record explicitly: archived status (no patches), NOASSERTION license (legal review required before any code reuse — including copy-paste, not just Composer), zero dependents (no field validation), and Doctrine-in-Laravel integration cost (an extra integration package, dual persistence models, team ramp-up). Recommendation: reference-only, with a short internal build if the pattern earns its place in a real feature.
Decision requested: Approve the spike; decline the dependency. Revisit only if the parent queries package is revived and actively maintained, or if we formally adopt Doctrine as a persistence layer.
How can I help you explore Laravel packages today?