Laravel Packages

Keep Track of Model Inventory with Laravel Stock

Published
Keep Track of Model Inventory with Laravel Stock image

Laravel Stock is a package by Appstract for keeping track of inventory counts on models:

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).

For example, let’s say you have a Book model with which you need to keep track of stock:

use Appstract\Stock\HasStock;
 
class Book extends Model
{
use HasStock;
}

When a customer places an order for a book, you can change the stock counts:

$book->increaseStock(10);
$book->decreaseStock(10);
 
// Change stock positively or negatively with one method
$book->mutateStock(10);
$book->mutateStock(-10);

Next, in your UI you could check to see if a product is in stock:

$book->inStock();
// See if you have at least 10 of the same book in stock
$book->inStock(10);

Finally, you can clear stock out:

$book->clearStock();
 
// Clear stock and then set a new value
$book->clearStock(10);

You can learn more about this package, get full installation instructions, and view the source code on GitHub at appstract/laravel-stock.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article