jetcod/eloquent-repository
jetcod/eloquent-repository brings a clean repository pattern to Laravel Eloquent. Organize complex queries into reusable, testable classes, keep models slim, and streamline data access across your app. A practical foundation for cleaner controllers, services, and maintainable Laravel projects.
jetcod/eloquent-repository is a decision to standardize the repository pattern across teams rather than hand-rolling interfaces per service. The package buys convention and a maintained base class; it does not buy query-building, caching, or domain logic — those remain ours.Consider it when:
Look elsewhere when:
Migration risk for existing adopters: the notes state no application-facing repository APIs changed, so source-level migration effort is expected to be low. The real cost is environmental — PHP, Laravel, and Carbon 3 upgrades plus a full regression pass. Pin ^1.7 deliberately and sequence it with the platform upgrade, not ahead of it.
For executives: This is a small, focused library that gives our Laravel services a consistent, testable boundary between business logic and the database. The new 1.7.0 release is a maintenance release — it keeps the package current with the newest Laravel versions and modern PHP, with no change to the interfaces our code uses. It carries no new product capability and no licensing cost; the decision it informs is an architecture standard, not a feature bet. The one real constraint: 1.7.0 requires Laravel 12/13 and PHP 8.1+, so it should be sequenced with our existing platform upgrade rather than triggering one.
For engineering: 1.7.0 drops PHP 7.4/8.0, Laravel 8–11, and Carbon 2; minimum is now PHP 8.1 with Carbon 3. No application-facing repository APIs changed, so adoption is an environment bump plus regression testing — the Carbon 3 constraint is the item most likely to cascade into other dependencies, so check the lockfile early. Upside: an actively maintained base (CI through PHP 8.5, Laravel 12/13 support) means we are not adopting an abandoned seam. Recommendation: standardize on it for modules with a credible persistence-swap or test-speed need, skip it for plain CRUD, and pin ^1.7 alongside the Laravel upgrade ticket.
How can I help you explore Laravel packages today?