Brings the ruby concept of "counter caching" to Laravel.
One thing we at Nodes have been missing in Laravel is the concept of "counter caching".
Laravel comes "out of the box" with the increment/decrement methods on it's Eloquent models. But you'll need to manually execute these methods everytime, you've saved/delete stuff with your model.
Since the increment/decrement methods always +1/-1, you can't 100% rely on these as cached value. What if you forgot to execute the decrement method when you deleted a row. Or what if someone deleted a row directly from the database, then your count would be "out of sync".
Therefore we've created this package which brings "counter caching" to Laravel.
The difference between this package and Laravel's increment/decrement is that our package actually generates and fires a SQL count statement, that counts the entries and updates the desired column with the result.
This way you're always 100% sure that the value in your "counter cache" column is correct.
To install this package you will need:
- Laravel 5.1+
- PHP 5.5.9+
You must then modify your composer.json
file and run composer update
to include the latest version of the package in your project.
"require": {
"nodes/counter-cache": "^1.0"
}
Or you can run the composer require command from your terminal.
composer require nodes/counter-cache:^1.0
Please refer to the Wiki documentation for more information.
This package is developed and maintained by the PHP team at Nodes Agency
This package is open-sourced software licensed under the MIT license