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

Query Builder Repository Laravel Package

ceddyg/query-builder-repository

ceddyg/query-builder-repository is a Laravel package that layers a repository abstraction over the fluent query builder, giving you a clean, reusable data layer for your models. It streamlines CRUD, filtering, and query organization so controllers and services stay lean, readable, and testable.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Read-path performance budget for data-heavy endpoints. The package makes the trade-off between Eloquent's rich object model and raw query-builder speed/memory an explicit, reusable architectural choice. This informs whether a feature (dashboards, exports, list/report endpoints) should ship on Eloquent or on a lean read path from day one, rather than discovering memory ceilings in production.
  • Build vs. buy for the repository layer. At 11 stars, the realistic decision is "buy the pattern, not the dependency." The package is small enough to read and replicate, so the real value is as a reference implementation for an internal QueryRepository base class — a decision a PM can make in a single spike rather than a quarter of platform work.
  • API contract design. Returning stdClass/Collection instead of models means responses are closer to raw rows — this pushes product decisions about serialization, field naming, nullability, and versioning to the boundary (controllers/Resources) instead of leaking into model accessors. It clarifies where the API contract actually lives.
  • Roadmap sequencing of reporting/export features. If analytics, CSV/Excel exports, or bulk read APIs are on the roadmap, this package (or its pattern) is a low-cost enabler to validate those features without committing to an ORM-heavy design.
  • Consistency vs. pragmatism call. Adopting it introduces a second data-access idiom alongside Eloquent. A PM should treat "one data-access pattern" as a real maintainability cost and price it into the decision, especially for teams with mixed seniority.
  • Use cases it directly serves: admin/reporting tables, exports, read-only microservice endpoints, search/filter screens, aggregate queries, and legacy/wide tables where hydrating full models is wasteful.

When to Consider This Package

Consider it when all of the following hold:

  • The read path is simple and row-shaped — filters, joins, pagination, aggregates — with no need for relationships, eager loading, casts, accessors, model events, or soft-delete semantics.
  • You already use (or want) the repository pattern, and the team agrees on a contract returning plain objects/arrays rather than domain models.
  • You have a measurable performance or memory concern (large result sets, wide tables, high-volume list endpoints), not a speculative one — otherwise Eloquent's ergonomics win.
  • You are comfortable vendoring or forking the code. At this maturity level, treat it as a starting point you own, not an upstream you depend on.

Look elsewhere (or use plain query builder / Eloquent) when:

  • You need domain behavior on the objects — the whole point of dropping models is that you lose it.
  • Write paths dominate. This package is aimed at reads; mixing write semantics into a lightweight repository tends to reintroduce the complexity you were avoiding.
  • The team lacks appetite to own unmaintained code. Low stars, low activity, and a low opportunity signal mean support risk is on you; a 200-line internal abstraction gives the same benefit with clearer ownership.
  • You need typed DTOs / static analysis coverage in a large codebase — stdClass is opaque to IDEs and PHPStan unless you add your own mapping layer.
  • The performance gap is not proven in your workload. Benchmark first; ORM overhead is often dominated by network and query cost.

How to Pitch It (Stakeholders)

For executives: This is a small, low-cost experiment in how we fetch data for read-heavy screens — reports, exports, dashboards. The concept is simple: skip the object-mapping layer we don't need for read-only data, which reduces memory and response time on large result sets. It is not a platform-wide re-architecture: it affects only read paths, requires no new infrastructure, and can be validated in a short spike against our own data before any commitment. Risk is contained by treating the code as a reference we own rather than a third-party dependency.

For engineering: The package is a thin repository abstraction over Laravel's query builder returning stdClass or Collection< stdClass > instead of hydrated models. It removes hydration cost and model overhead on read-only paths, and gives us a consistent, testable data-access seam. The trade-offs are explicit: no relationships, casts, accessors, events, or soft deletes, and stdClass means weaker IDE/static-analysis support unless we add DTO mapping. Given the project's size and maturity (small community, low activity), the recommended path is a one-sprint spike: replicate the pattern internally, benchmark it against Eloquent on our two heaviest read endpoints, and adopt the pattern — not necessarily the dependency — only if the numbers justify a second data-access idiom in the codebase.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib