josrom / eloquent-crud-repository
All the basic methods to any Laravel project with Repository pattern
Installs: 2 359
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/josrom/eloquent-crud-repository
Requires
- php: ^7.3|^8.0
 - illuminate/database: ^8.0|^9.0|^10.0|^11|^12
 
Requires (Dev)
- phpunit/phpunit: ^9.0|^10.0|^11|^12
 
This package is auto-updated.
Last update: 2025-10-24 17:01:06 UTC
README
Introduction
EloquentCrudRepository provides a well tested and complete base to create more model repositories using the repository pattern with Eloquent as ORM.
Public methods available
| Name | Parameters | Return | 
|---|---|---|
| all | array $with = [] | \Illuminate\Database\Eloquent\Collection | 
| allWithTrashed | array $with = [] | \Illuminate\Database\Eloquent\Collection | 
| allTrashed | array $with = [] | \Illuminate\Database\Eloquent\Collection | 
| find | int $id, array $with = [] | \Illuminate\Database\Eloquent\Model | 
| findWithTrashed | int $id, array $with = [] | \Illuminate\Database\Eloquent\Model | 
| findTrashed | int $id, array $with = [] | \Illuminate\Database\Eloquent\Model | 
| findBy | string $field, mixed $value, string $comparison = '=', bool $strict = true, array $with = [] | \Illuminate\Database\Eloquent\Model | 
| findByWithTrashed | string $field, mixed $value, string $comparison = '=', bool $strict = true, array $with = [] | \Illuminate\Database\Eloquent\Model | 
| findByTrashed | string $field, mixed $value, string $comparison = '=', bool $strict = true, array $with = [] | \Illuminate\Database\Eloquent\Model | 
| newModel | array $params = [] | \Illuminate\Database\Eloquent\Model | 
| create | array $params | \Illuminate\Database\Eloquent\Model | 
| update | int $id, array $params | \Illuminate\Database\Eloquent\Model | 
| delete | int $id | bool | 
| forceDelete | int $id | bool | 
| restore | int $id | bool | 
| paginate | \Illuminate\Database\Eloquent\Builder $query, int $page = 0, int $limit = 15 | object | 
| paginateCollection | \Illuminate\Database\Eloquent\Collection $collection, int $page = 0, int $limit = 15 | object | 
| pagination | int $page = 0, int $limit = 15 | object | 
| paginationWithTrashed | int $page = 0, int $limit = 15 | object | 
| paginationOnlyTrashed | int $page = 0, int $limit = 15 | object | 
Protected methods available
| Name | Parameters | Return | 
|---|---|---|
| checkCanShow | \Illuminate\Database\Eloquent\Model $model | void | 
| checkCanCreate | array $params | void | 
| checkCanUpdate | \Illuminate\Database\Eloquent\Model $model, array $newValues | void | 
| checkCanDelete | \Illuminate\Database\Eloquent\Model $model | void | 
| checkCanRestore | \Illuminate\Database\Eloquent\Model $model | void | 
| canShow | \Illuminate\Database\Eloquent\Model $model | bool | 
| canCreate | array $params | bool | 
| canUpdate | \Illuminate\Database\Eloquent\Model $model, array $newValues | bool | 
| canDelete | \Illuminate\Database\Eloquent\Model $model | bool | 
| canRestore | \Illuminate\Database\Eloquent\Model $model | bool | 
| hasSoftDeletes | bool | 
Installation
To get the last version of EloquentCrudRepository, simply require the project using Composer:
composer require josrom/eloquent-crud-repository
Instead, you may of course manually update your require block and run composer update if you so choose:
{
    "require": {
        "josrom/eloquent-crud-repository": "^10.0"
    }
}
License
EloquentCrudRepository is open-sourced software licensed under the MIT license