This package is abandoned and no longer maintained. No replacement package was suggested.

Counter caching for Laravel

2.0.5 2020-02-18 13:58 UTC


⚠️This package is deprecated⚠️

Brings the ruby concept of "counter caching" to Laravel.

Total downloads Monthly downloads Latest release Open issues License Star repository on GitHub Watch repository on GitHub Fork repository on GitHub StyleCI

📝 Introduction

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.

📦 Installation

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

⚙ Usage

Please refer to the Wiki documentation for more information.

🏆 Credits

This package is developed and maintained by the PHP team at Nodes Agency

Follow Nodes PHP on Twitter Tweet Nodes PHP

📄 License

This package is open-sourced software licensed under the MIT license