Download the PHP package freevital/laravel-repository without Composer
On this page you can find all versions of the php package freevital/laravel-repository. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download freevital/laravel-repository
More information about freevital/laravel-repository
Files in freevital/laravel-repository
Informations about the package laravel-repository
Laravel Repositories
Laravel Repositories to abstract a database layer.
Installation
Run the following command to install the latest version:
Usage
Create a Repository
Your repository class must extend Freevital\Repository\Eloquent\BaseRepository
abstract class and implement method model()
which returns model's class name.
Use Repository in the Controller
Create a Repository Criteria
Optionally you may create a separate Criteria class to apply specific query conditions. Your Criteria class must implement Freevital\Repository\Contracts\CriteriaContract
interface.
Use Repository Criteria in the Controller
You may use multiple criteria in the repository.
Criteria Macros
If you would like to extend the repository functionality with custom common scope (ex. ActiveCriteria), you may use BaseRepository's macro method. For example, from a service provider's boot method:
The macro function accepts a name as its first argument, and a Closure as its second. The macro's Closure will be executed when calling the macro name from any Repository instance:
Available Methods
Freevital\Repository\Contracts\RepositoryContract
Freevital\Repository\Contracts\RepositoryCriteriaContract
Freevital\Repository\Contracts\CriteriaContract
Example usage
Get all entities:
Entity pagination:
Get an entity by id:
Get first entity:
Get entities count:
Create new entity:
Update an entity by id:
Delete or force delete an entity by id:
Credits
This package in mainly based on package by @andersao.
License
The contents of this repository is released under the MIT license.
All versions of laravel-repository with dependencies
illuminate/database Version ~5.0
illuminate/support Version ~5.0
illuminate/console Version ~5.0