Go to file
Morten Rugaard a51a9f2916 Init commit 2015-12-06 17:02:48 +01:00
src Init commit 2015-12-06 17:02:48 +01:00
LICENSE Init commit 2015-12-06 17:02:48 +01:00
README.md Init commit 2015-12-06 17:02:48 +01:00
composer.json Init commit 2015-12-06 17:02:48 +01:00

README.md

Counter Cache

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

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": {
    "dingo/api": "1.0.*@dev"
}

Or you can run the composer require command from your terminal.

composer require nodes/counter-cache

Usage

To do.

Developers / Maintainers

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