This documentation is for an upcoming version and is subject to change.
Using this package you will be able to have a record of the numbers, for example: invoices are issued and a numbered record is needed for each invoice, this package fulfills exactly what you are looking for.
Set your enums in our config (config/metric.php)
Add HasMetrics trait to your model
use ZaimeaLabs\Metrics\HasMetrics; class User extends Authenticable { use HasMetrics; }
Increment
$user->incrementMetric(config('metric.enums.Logins'), 1);
Decrement
$user->decrementMetric(config('metric.enums.Logins'), 1);
Get value
$user->metrics()->where('name', 'logins')->value('value');
Create your enum
enum UserMetric: string { case Logins = 'logins'; }
Increment
$user->incrementMetric(UserMetric::Logins->value, 1);
Decrement
$user->decrementMetric(UserMetric::Logins->value, 1);
Get value
$user->metrics()->where('name', 'logins')->value('value');
Don't increment/decrement with month,year
$user->incrementMetric(UserMetric::Logins->value, 1, /*withDate*/ false); $user->decrementMetric(UserMetric::Logins->value, 1, /*withDate*/ false);
Increment/decrement with specific month,year
$user->incrementMetric(UserMetric::Logins->value, /*withDate*/ 1, true, /*month*/ 04, /*year*/ 2023, /*day*/ 01); $user->decrementMetric(UserMetric::Logins->value, /*withDate*/ 1, true, /*month*/ 04, /*year*/ 2023, /*day*/ 01);