Laravel Stock
https://ift.tt/2vMpY47
Laravel Stock
Keep stock for Eloquent models. This package will track stock mutations for your models. You can increase, decrease, clear and set stock. It’s also possible to check if a model is in stock (on a certain date/time).
Installation
You can install the package via composer:
composer require appstract/laravel-stock
By running php artisan vendor:publish --provider="Appstract\Stock\StockServiceProvider"
in your project all files for this package will be published. Run php artisan migrate
to migrate the table. There will now be a stock_mutations
table in your database.
Usage
Adding the HasStock
trait will enable stock functionality on the Model.
use Appstract\Stock\HasStock; class Book extends Model { use HasStock; }
Basic mutations
$book->increaseStock(10); $book->decreaseStock(10); $book->mutateStock(10); $book->mutateStock(-10);
Clearing stock
It’s also possible to clear the stock and directly setting a new value.
$book->clearStock(); $book->clearStock(10);
Setting stock
It is possible to set stock. This will create a new mutation with the difference between the old and new value.
Check if model is in stock
It’s also possible to check if a product is in stock (with a minimal value).
$book->inStock(); $book->inStock(10);
Current stock
Get the current stock value (on a certain date).
$book->stock; $book->stock(Carbon::now()->subDays(10));
Stock arguments
Add a description and/or reference model to de StockMutation.
$book->increaseStock(10, [ 'description' => 'This is a description', 'reference' => $otherModel, ]);
Testing
Contributing
Contributions are welcome, thanks to y’all 🙂
About Appstract
Appstract is a small team from The Netherlands. We create (open source) tools for Web Developers and write about related subjects on Medium. You can follow us on Twitter, buy us a beer or support us on Patreon.
License
The MIT License (MIT). Please see License File for more information.
programming
via Laravel News Links https://ift.tt/2dvygAJ
March 24, 2020 at 09:00AM