PHPackages                             nilportugues/eloquent-repository - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. nilportugues/eloquent-repository

ActiveLibrary[Database &amp; ORM](/categories/database)

nilportugues/eloquent-repository
================================

Eloquent Repository implementation

2.2.2(10y ago)172071[3 issues](https://github.com/PHPRepository/php-eloquent-repository/issues)MITPHP

Since Feb 11Pushed 10y ago2 watchersCompare

[ Source](https://github.com/PHPRepository/php-eloquent-repository)[ Packagist](https://packagist.org/packages/nilportugues/eloquent-repository)[ Docs](http://nilportugues.com)[ RSS](/packages/nilportugues-eloquent-repository/feed)WikiDiscussions master Synced today

READMEChangelog (7)Dependencies (6)Versions (8)Used By (0)

Eloquent Repository
===================

[](#eloquent-repository)

[![PHP7 Tested](https://camo.githubusercontent.com/eea186def7838989954f2bad227f67f6602ada028e31ec5ed63860b309c51a78/687474703a2f2f7068702d6579652e636f6d2f62616467652f6e696c706f727475677565732f656c6f7175656e742d7265706f7369746f72792f70687037302e737667)](https://camo.githubusercontent.com/eea186def7838989954f2bad227f67f6602ada028e31ec5ed63860b309c51a78/687474703a2f2f7068702d6579652e636f6d2f62616467652f6e696c706f727475677565732f656c6f7175656e742d7265706f7369746f72792f70687037302e737667)[![Build Status](https://camo.githubusercontent.com/30162cb7c1b703fd3b93fc7041e5355bfb3277be9f77cf46d426fb19e2cbc2f4/68747470733a2f2f7472617669732d63692e6f72672f5048505265706f7369746f72792f7068702d656c6f7175656e742d7265706f7369746f72792e737667)](https://travis-ci.org/PHPRepository/php-eloquent-repository) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/a84317d7fc985f960ecda810bca9ffdd6f9cea8eeb6e69133801ab93d58ad3de/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e696c706f727475677565732f7068702d656c6f7175656e742d7265706f7369746f72792f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/nilportugues/php-eloquent-repository/?branch=master) [![SensioLabsInsight](https://camo.githubusercontent.com/825273862a5c2f57ae679cdcb1451a17a0a0b696b0de30f34e852f54d0918ef2/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f38643336326631352d383338352d343063302d613761362d3637326338353733353262342f6d696e692e706e67)](https://insight.sensiolabs.com/projects/8d362f15-8385-40c0-a7a6-672c857352b4) [![Latest Stable Version](https://camo.githubusercontent.com/0a5b83d2b2582b794cf48084ed6aeec41d87b271eb46ca7a88dd04210119b021/68747470733a2f2f706f7365722e707567782e6f72672f6e696c706f727475677565732f656c6f7175656e742d7265706f7369746f72792f762f737461626c65)](https://packagist.org/packages/nilportugues/eloquent-repository) [![Total Downloads](https://camo.githubusercontent.com/7ff803a05a13019dd02301868da560fdbae52238a0f976a220b1509b8dfae0c1/68747470733a2f2f706f7365722e707567782e6f72672f6e696c706f727475677565732f656c6f7175656e742d7265706f7369746f72792f646f776e6c6f616473)](https://packagist.org/packages/nilportugues/eloquent-repository) [![License](https://camo.githubusercontent.com/2a49deab6a7cb6063a92fc3237f39447b867a715ae50fc039f5bb04785e3f122/68747470733a2f2f706f7365722e707567782e6f72672f6e696c706f727475677565732f656c6f7175656e742d7265706f7369746f72792f6c6963656e7365)](https://packagist.org/packages/nilportugues/eloquent-repository)[![Donate](https://camo.githubusercontent.com/7b6de155df30b37b25eb5fec52f9213680c3dbf067dfb7d7e2850ac4096c7d05/68747470733a2f2f7777772e70617970616c6f626a656374732e636f6d2f656e5f55532f692f62746e2f62746e5f646f6e6174655f534d2e676966)](https://paypal.me/nilportugues)

Eloquent Repository using *[nilportugues/repository](https://github.com/nilportugues/php-repository)* as foundation.

Installation
------------

[](#installation)

Use [Composer](https://getcomposer.org) to install the package:

```
$ composer require nilportugues/eloquent-repository
```

Why? Drivers and Multiple Implementations!
------------------------------------------

[](#why-drivers-and-multiple-implementations)

Using this implementation you can switch it out to test your code without setting up databases.

Doesn't sound handy? Let's think of yet another use case you'll love using this. `Functional tests` and `Unitary tests`.

No database connection will be needed, nor fakes. Using an `InMemoryRepository` or `FileSystemRepository` implementation will make those a breeze to code. And once the tests finish, all data may be destroyed with no worries at all.

**Available drivers:**

Also, if you feel like changing the repository implementation, no logic changes would be needed, as there are a set of drivers for you to use out of the box:

- `composer require nilportugues/repository-cache` for [caching](https://github.com/nilportugues/php-repository-cache).
- `composer require nilportugues/repository` for an [InMemoryRepository implementation](https://github.com/nilportugues/php-repository).
- `composer require nilportugues/filesystem-repository` for a [FileSystemRepository implementation](https://github.com/nilportugues/php-filesystem-repository).
- `composer require nilportugues/doctrine-repository` for a [SQL Doctrine implementation](https://github.com/nilportugues/php-doctrine-repository).
- `composer require nilportugues/eloquent-mongodb-repository` for a [MongoDB Eloquent implementation](https://github.com/nilportugues/php-eloquent-mongodb-repository).

Usage
-----

[](#usage)

To set up Eloquent you don't need Laravel or Lumen frameworks at all. This is how you use Eloquent in any project.

```
