PHPackages                             jooservices/laravel-repository - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. jooservices/laravel-repository

ActiveLibrary[Database &amp; ORM](/categories/database)

jooservices/laravel-repository
==============================

Base repositories with CRUD, filtering, ordering and query-from-request for Laravel

1.0.0(2mo ago)00MITPHPPHP ^8.5

Since Mar 9Pushed 2mo agoCompare

[ Source](https://github.com/jooservices/laravel-repository)[ Packagist](https://packagist.org/packages/jooservices/laravel-repository)[ RSS](/packages/jooservices-laravel-repository/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (10)Versions (2)Used By (0)

Laravel Repository
==================

[](#laravel-repository)

Base repositories with CRUD, filtering, ordering, and query-from-request for Laravel 12. Built with SOLID, KISS, DRY, and YAGNI. Use only the traits you need.

Requirements
------------

[](#requirements)

- PHP ^8.5
- Laravel ^12.0
- illuminate/contracts, illuminate/database, illuminate/support, illuminate/http ^12.0

Installation
------------

[](#installation)

```
composer require jooservices/laravel-repository
```

The package registers its service provider automatically. Optionally publish config:

```
php artisan vendor:publish --tag=laravel-repository-config
```

Documentation
-------------

[](#documentation)

Full documentation lives in the **[./docs](docs/)** folder:

DocumentDescription[**Architecture**](docs/architecture.md)Package structure, layers, interfaces, and design principles[**Process &amp; logic flow**](docs/process-flow.md)Data and request flow with diagrams (including Mermaid)[**Usage guide**](docs/usage-guide.md)Installation, configuration, trait selection, CRUD, filter/order, query-from-request, and testingQuick links from the docs:

- [Trait-based composition](docs/usage-guide.md#trait-based-composition) — which traits to use for which needs
- [Creating a repository](docs/usage-guide.md#creating-a-repository)
- [CRUD](docs/usage-guide.md#crud) · [Filter and order](docs/usage-guide.md#filter-and-order) · [Query from request](docs/usage-guide.md#query-from-request)
- [Testing and quality](docs/usage-guide.md#testing-and-quality)

Quick example
-------------

[](#quick-example)

```
use Jooservices\LaravelRepository\Contracts\RepositoryInterface;
use Jooservices\LaravelRepository\Repositories\EloquentRepository;
use Jooservices\LaravelRepository\Traits\HasCrud;
use Jooservices\LaravelRepository\Traits\HasFilter;
use Jooservices\LaravelRepository\Traits\HasOrder;

class UserRepository extends EloquentRepository implements RepositoryInterface
{
    use HasCrud, HasFilter, HasOrder;

    public function __construct(User $model)
    {
        parent::__construct($model);
    }
}
```

```
$user = $repo->find($id);
$users = $repo->filter(['status' => 'active'])->orderBy(['created_at' => 'desc'])->paginate(15);
$users = $repo->fromRequest($request)->paginate(15);  // with HasRequestQuery
```

Changelog
---------

[](#changelog)

See [CHANGELOG.md](CHANGELOG.md) for version history.

License
-------

[](#license)

MIT.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance87

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

65d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a4ff5b64fb70623808dbe8a32cabfd3add7db11ee382893a437c2660ba9d9f55?d=identicon)[jooservices](/maintainers/jooservices)

---

Top Contributors

[![soulevilx](https://avatars.githubusercontent.com/u/2688707?v=4)](https://github.com/soulevilx "soulevilx (4 commits)")

---

Tags

laraveleloquentfiltercrudrepository

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/jooservices-laravel-repository/health.svg)

```
[![Health](https://phpackages.com/badges/jooservices-laravel-repository/health.svg)](https://phpackages.com/packages/jooservices-laravel-repository)
```

###  Alternatives

[tucker-eric/eloquentfilter

An Eloquent way to filter Eloquent Models

1.8k4.8M26](/packages/tucker-eric-eloquentfilter)[watson/validating

Eloquent model validating trait.

9723.3M47](/packages/watson-validating)[dyrynda/laravel-model-uuid

This package allows you to easily work with UUIDs in your Laravel models.

4802.8M8](/packages/dyrynda-laravel-model-uuid)[jerome/filterable

Streamline dynamic Eloquent query filtering with seamless API request integration and advanced caching strategies.

19226.1k](/packages/jerome-filterable)[reedware/laravel-relation-joins

Adds the ability to join on a relationship by name.

2121.2M13](/packages/reedware-laravel-relation-joins)[mehdi-fathi/eloquent-filter

Eloquent Filter adds custom filters automatically to your Eloquent Models in Laravel.It's easy to use and fully dynamic, just with sending the Query Strings to it.

450191.6k1](/packages/mehdi-fathi-eloquent-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
