appstract / laravel-stock
为 Eloquent 模型管理库存
1.2.0
2021-05-14 07:49 UTC
Requires
- php: ^7.2|^8.0
Requires (Dev)
- orchestra/testbench: ^4.6
- phpunit/phpunit: ^8.3
README
为 Eloquent 模型管理库存。此包将跟踪模型的库存变更。您可以增加、减少、清除和设置库存。还可以检查模型在特定日期/时间是否在库存中。
安装
您可以通过 composer 安装此包
composer require appstract/laravel-stock
在您的项目中运行 php artisan vendor:publish --provider="Appstract\Stock\StockServiceProvider"
将发布此包的所有文件。运行 php artisan migrate
来迁移表。现在您的数据库中将有 stock_mutations
表。
使用方法
添加 HasStock
特性将启用模型上的库存功能。
use Appstract\Stock\HasStock; class Book extends Model { use HasStock; }
基本变更
$book->increaseStock(10); $book->decreaseStock(10); $book->mutateStock(10); $book->mutateStock(-10);
清除库存
还可以清除库存并直接设置新的值。
$book->clearStock(); $book->clearStock(10);
设置库存
可以设置库存。这将创建一个新变更是旧值和新值之间的差异。
$book->setStock(10);
检查模型是否在库存中
还可以检查产品是否在库存中(具有最小值)。
$book->inStock(); $book->inStock(10);
当前库存
获取特定日期的当前库存值。
$book->stock; $book->stock(Carbon::now()->subDays(10));
库存参数
向 StockMutation 添加描述和/或参考模型。
$book->increaseStock(10, [ 'description' => 'This is a description', 'reference' => $otherModel, ]);
查询作用域
还可以根据库存进行查询。
Book::whereInStock()->get(); Book::whereOutOfStock()->get();
测试
composer test
贡献
欢迎贡献,感谢大家 :)
关于 Appstract
Appstract 是来自荷兰的一个小型团队。我们为 Web 开发者创建(开源)工具,并在 Medium 上撰写相关主题。您可以在 Twitter 上关注我们,为我们买杯啤酒 或 在 Patreon 上支持我们。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。