jooservices/laravel-repository

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

Maintainers

Package info

github.com/jooservices/laravel-repository

pkg:composer/jooservices/laravel-repository

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-03-09 02:07 UTC

This package is auto-updated.

Last update: 2026-03-09 02:15:03 UTC


README

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

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

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

Full documentation lives in the ./docs folder:

Document Description
Architecture Package structure, layers, interfaces, and design principles
Process & logic flow Data and request flow with diagrams (including Mermaid)
Usage guide Installation, configuration, trait selection, CRUD, filter/order, query-from-request, and testing

Quick links from the docs:

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

See CHANGELOG.md for version history.

License

MIT.