bruhanda / balance
在eloquent模型中维护平衡变动的历史。这个简单的包将跟踪您的模型平衡。您可以增加、减少、重置和设置平衡。还可以检查模型是否有正平衡或无平衡。
v1.0.1
2024-03-26 21:32 UTC
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- orchestra/testbench: 8.20.0|^9.0
- phpunit/phpunit: ^10.4
This package is auto-updated.
Last update: 2024-09-26 22:34:18 UTC
README
在eloquent模型中维护平衡变动的历史。这个简单的包将跟踪您的模型平衡。您可以增加、减少、重置和设置平衡。还可以检查模型是否有正平衡或无平衡。支持Laravel 11
安装
您可以通过composer安装此包
composer require mreduar/laravel-balance
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --provider="MrEduar\Balance\BalanceServiceProvider" --tag="migrations" php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="MrEduar\Balance\BalanceServiceProvider" --tag="config"
这是已发布配置文件的内容
<?php
return [
/*
|--------------------------------------------------------------------------
| Table name
|--------------------------------------------------------------------------
|
| Table name to use to store balance history transactions.
|
*/
'table' => 'balance_history',
];
用法
添加HasBalance
特质将使模型启用平衡功能。
use Illuminate\Foundation\Auth\User as Authenticatable; use MrEduar\Balance\HasBalance; class User extends Authenticatable { use HasBalance; }
基本操作
$user->increaseBalance(2575); $user->balance; // 25.75 $user->decreaseBalance(2575); $user->balance; // 0 $user->modifyBalance(-2537); $user->balance; // -25.37 $user->modifyBalance(3037); $user->balance; // 5
重置平衡
您也可以重置平衡并直接设置新值。
$user->resetBalance(); // 0 $user->resetBalance(10); // 10
检查模型是否有平衡
检查是否存在正平衡或大于所提供平衡的平衡。
$user->hasBalance(); $user->hasBalance(2575);
检查模型是否无平衡
检查是否没有更多平衡。
$user->hasNoBalance();
向历史添加引用和描述
您可以通过传递一个包含引用模型数据和描述的数组作为第二个参数,向上述任何方法添加引用。
use App\Models\Podcast; $podcast = Podcast::find(1); $user->decreaseBalance(2575, [ 'description' => 'Purchase of a podcast.', 'reference' => $podcast ]); $user->increaseBalance(2575, [ 'description' => 'Paypal Deposit.' ]);
贡献
有关详细信息,请参阅CONTRIBUTING。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。