pieterdev/repoflow
A simple trait to allow fluently querying repositories with an eloquent model. Gives back the flexibility of eloquent to some extent, while remaining explicit on which methods are supported by a repository.
23
1
| Install | |
|---|---|
composer require pieterdev/repoflow |
|
| Latest Version: | 1.0.5 |
| PHP: | >=5.4.0 |
| Older releases: | 4 |
| License: | MIT |
| Last Updated: | Aug 28, 2014 |
| Links: | GitHub · Packagist |
Maintainer: pieterdev
repoflow
A simple trait to allow fluently querying repositories with an eloquent model. Gives back the flexibility of eloquent to some extent, while remaining explicit on which methods are supported by a repository.
Using it
Simply:
- Add the Pieterdev\Repoflow\FluentRepositoryTrait to your repository class.
- Add a
protected static $filters= [...]array to your repository class denoting which properties on your model should be filterable. - Have the model your repository is using as a field called $model on your repository class, or have $model be a string containing the name of the eloquent model used by the repository.
- You can then do chain queries on your repository, for example `$repo->whereName('Jack')->whereScore(3)->all();
- The method
all()invokes the query.
<?php
class SomeEloquentRepository implements ISomeRepository {
use Pieterdev\Repoflow\FluentRepositoryTrait;
protected static $filters = [
'name',
'score'
];
protected $model;
function __construct(User $userModel)
{
$this->model = $userModel;
}
}
Related Packages
ak279642/laravel-infrastructure
Production-ready Laravel infrastructure for repositories, safe caching, validati...
60
0
kjmtrue/laravel-cacheable
Rinvex Cacheable is a granular, intuitive, and fluent caching system for eloquen...
1,106
0
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 1.0.5 | >=5.4.0 | MIT | ||
| 1.0.4 | >=5.4.0 | MIT | ||
| 1.0.3 | >=5.4.0 | MIT | ||
| 1.0.2 | >=5.4.0 | 4.2.* | MIT | |
| 1.0.1 | >=5.4.0 | 4.2.* |