Download the PHP package axn/laravel-repository without Composer
On this page you can find all versions of the php package axn/laravel-repository. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download axn/laravel-repository
More information about axn/laravel-repository
Files in axn/laravel-repository
Package laravel-repository
Short Description Implementing the design pattern repositories for Laravel 5
License MIT
Homepage https://github.com/AXN-Informatique/laravel-repository
Informations about the package laravel-repository
abandoned
Laravel Repository
Ce package offre des fonctionnalités de base pour le repository pattern avec Laravel 5.
Installation
Inclure le package avec Composer :
Aucun service provider n'est à inclure pour utiliser ce package. Il y a juste besoin
que les classes des repositories étendent la classe Axn\Repository\Eloquent\EloquentRepository
et qu'il y ait une injection du modèle dans le constructeur :
Utilisation
Les méthodes de base (publiques) fournies sont les suivantes :
- getById($id, $columns = null)
- getBy(array $criteria, $columns = null)
- getAll($columns = null, $order = null, $limit = null, $offset = null)
- getAllByIds(array $ids, $columns = null, $order = null, $limit = null, $offset = null)
- getAllBy(array $criteria, $columns = null, $order = null, $limit = null, $offset = null)
- getAllDistinctBy(array $criteria, $columns = null, $order = null, $limit = null, $offset = null)
- paginate($perPage, array $criteria = [], $columns = null, $order = null)
- exists($id)
- count(array $criteria = [])
- create(array $data)
- createMany(array $datalist)
- updateById($id, array $data)
- updateManyByIds(array $ids, array $data)
- updateBy(array $criteria, array $data)
- updateOrCreate(array $attributes, array $data)
- deleteById($id)
- deleteManyByIds(array $ids)
- deleteBy(array $criteria)
Sélection de colonnes (paramètre $columns)
Le paramètre $columns permet de sélectionner les colonnes à récupérer. Il peut être fourni sous forme de tableau, ou bien sous forme de chaîne (chaque colonne séparée par une virgule). La récupération peut également se faire dans les relations. Exemple :
Critères de filtrage (paramètre $criteria)
Le paramètre $criteria
permet de filtrer les enregistrements à récupérer. Le filtrage
peut également se faire sur les relations. Exemple :
Des opérateurs peuvent aussi être utilisés sur les critères. La liste des opérateurs possibles est la suivante :
- EQUAL (par défaut)
- NOT_EQUAL
- LIKE
- NOT_LIKE
- GREATER_THAN
- GREATER_EQUAL
- LESS_THAN
- LESS_EQUAL
- IN
- NOT_IN
Exemple :
Règles de tri (paramètre $order)
Le paramètre $order
permet de spécifier des règles de tri (ORDER BY). Ce paramètre
doit être fourni exclusivement sous forme de chaîne de caractères. Comme pour le
paramètre $columns
, plusieurs règles peuvent être spécifiées en les séparant par
des virgules, et il est possible de préciser la direction (asc ou desc) après le nom
du champ en séparant par un espace. Exemple :
Limitation et décalage (paramètres $limit et $offset)
Aux méthodes getAll*
peuvent être spécifiés les paramètres $limit
et $offset
qui permettent de ne sélectionner qu'un nombre limité d'enregistrements.
Ajout de méthodes à un repository Eloquent
Il est bien sûr possible d'ajouter des méthodes à un repository, si les méthodes de base ne sont pas suffisantes. Les méthodes suivantes (protégées) peuvent alors être utilisées pour construire des requêtes (repository Eloquent, uniquement) :
- model(array $attributes = [], $exists = false)
- query()
- filter($query, array $criteria, $columns = null, $order = null, $limit = null, $offset = null)
Exemples :