Inventory ​
- Type
- Class
- Namespace
- craft\commerce\services
- Inherits
- craft\commerce\services\Inventory » yii\base\Component » yii\base\BaseObject
- Implements
- yii\base\Configurable
- Since
- 5.0.0
Inventory service.
Public Properties ​
| Property | Description |
|---|---|
| behaviors | yii\base\Behavior – List of behaviors attached to this component. |
| inventoryItemQuery | craft\db\Query |
| inventoryLevelQuery | craft\db\Query |
| movementHash | string |
| transactionQuery | craft\db\Query |
inventoryItemQuery ​
- Type
- craft\db\Query
- Default value
null- Access
- Read-only
inventoryLevelQuery ​
- Type
- craft\db\Query
- Default value
null- Access
- Read-only
movementHash ​
- Type
- string
- Default value
null- Access
- Read-only
transactionQuery ​
- Type
- craft\db\Query
- Default value
null- Access
- Read-only
Public Methods ​
| Method | Description |
|---|---|
| __call() | Calls the named method which is not a class method. |
| __clone() | This method is called after the object is created by cloning an existing one. |
| __construct() | Constructor. |
| __get() | Returns the value of a component property. |
| __isset() | Checks if a property is set, i.e. defined and not null. |
| __set() | Sets the value of a component property. |
| __unset() | Sets a component property to be null. |
| attachBehavior() | Attaches a behavior to this component. |
| attachBehaviors() | Attaches a list of behaviors to the component. |
| behaviors() | Returns a list of behaviors that this component should behave as. |
| canGetProperty() | Returns a value indicating whether a property can be read. |
| canSetProperty() | Returns a value indicating whether a property can be set. |
| className() | Returns the fully qualified name of this class. |
| detachBehavior() | Detaches a behavior from the component. |
| detachBehaviors() | Detaches all behaviors from the component. |
| ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. |
| ensureInventoryItemRecord() | Finds or creates the inventory item record for the given purchasable, always keyed by its canonical id so drafts and revisions resolve to the same row as their canonical. Returns null if the purchasable type does not track inventory or there is no canonical id yet. |
| executeInventoryMovements() | |
| executeUpdateInventoryLevels() | |
| getBehavior() | Returns the named behavior object. |
| getBehaviors() | Returns all behaviors attached to this component. |
| getInventoryFulfillmentLevels() | |
| getInventoryItemById() | |
| getInventoryItemByPurchasable() | |
| getInventoryItemQuery() | |
| getInventoryItemsByIds() | |
| getInventoryLevel() | Returns an inventory level model which is the sum of all inventory movements types for an item in a location. |
| getInventoryLevelQuery() | Returns the totals for inventory items grouped by location and purchasable/inventoryItem. |
| getInventoryLevelsForPurchasable() | |
| getInventoryLocationLevels() | |
| getInventoryTransactions() | |
| getMovementHash() | |
| getTransactionQuery() | |
| getUnfulfilledOrders() | |
| hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. |
| hasMethod() | Returns a value indicating whether a method is defined. |
| hasProperty() | Returns a value indicating whether a property is defined for this component. |
| init() | Initializes the object. |
| off() | Detaches an existing event handler from this component. |
| on() | Attaches an event handler to an event. |
| orderCompleteHandler() | |
| saveInventoryItem() | |
| trigger() | Triggers an event. |
| updateInventoryLevel() | |
| updatePurchasableInventoryLevel() |
ensureInventoryItemRecord() ​
- Since
- 5.6.4
Finds or creates the inventory item record for the given purchasable, always keyed by its canonical id so drafts and revisions resolve to the same row as their canonical. Returns null if the purchasable type does not track inventory or there is no canonical id yet.
Arguments ​
$purchasable(craft\commerce\base\Purchasable)
Returns ​
craft\commerce\records\InventoryItem, null
executeInventoryMovements() ​
Arguments ​
$inventoryMovements(craft\commerce\collections\InventoryMovementCollection)
Returns ​
Throws ​
executeUpdateInventoryLevels() ​
Arguments ​
$updateInventoryLevels(craft\commerce\collections\UpdateInventoryLevelCollection)
Returns ​
Throws ​
getInventoryFulfillmentLevels() ​
Arguments ​
$order(craft\commerce\elements\Order)
Returns ​
\Illuminate\Support\Collection<\craft\commerce\models\InventoryFulfillmentLevel>
Throws ​
getInventoryItemById() ​
Arguments ​
$id(integer)
Returns ​
craft\commerce\models\InventoryItem
getInventoryItemByPurchasable() ​
Arguments ​
$purchasable(craft\commerce\base\Purchasable)
Returns ​
craft\commerce\models\InventoryItem
getInventoryItemQuery() ​
Returns ​
getInventoryItemsByIds() ​
Arguments ​
$ids(integer[])
Returns ​
\Illuminate\Support\Collection<\craft\commerce\models\InventoryItem>
getInventoryLevel() ​
Returns an inventory level model which is the sum of all inventory movements types for an item in a location.
Arguments ​
$inventoryItem(craft\commerce\models\InventoryItem, integer)$inventoryLocation(craft\commerce\models\InventoryLocation, integer)$withTrashed(boolean)
Returns ​
?\craft\commerce\models\InventoryLevel
getInventoryLevelQuery() ​
Returns the totals for inventory items grouped by location and purchasable/inventoryItem.
Arguments ​
Returns ​
getInventoryLevelsForPurchasable() ​
Arguments ​
$purchasable(craft\commerce\base\Purchasable)
Returns ​
\Illuminate\Support\Collection<\craft\commerce\models\InventoryLevel>
getInventoryLocationLevels() ​
Arguments ​
$inventoryLocation(craft\commerce\models\InventoryLocation)$withTrashed(boolean)
Returns ​
\Illuminate\Support\Collection
Throws ​
getInventoryTransactions() ​
Arguments ​
$inventoryItem(craft\commerce\models\InventoryItem)$inventoryLocation(craft\commerce\models\InventoryLocation)
Returns ​
\Illuminate\Support\Collection
getMovementHash() ​
Returns ​
getTransactionQuery() ​
Returns ​
getUnfulfilledOrders() ​
Arguments ​
$inventoryItem(craft\commerce\models\InventoryItem, integer)$inventoryLocation(craft\commerce\models\InventoryLocation, integer)
Returns ​
orderCompleteHandler() ​
Arguments ​
$order(craft\commerce\elements\Order)
Returns ​
void
Throws ​
saveInventoryItem() ​
Arguments ​
$inventoryItem(craft\commerce\models\InventoryItem)$validate(boolean)
Returns ​
Throws ​
updateInventoryLevel() ​
- Since
- 5.3.0
Arguments ​
Returns ​
void
Throws ​
updatePurchasableInventoryLevel() ​
- Since
- 5.3.0
Arguments ​
$purchasable(craft\commerce\base\Purchasable)$quantity(integer)$updateInventoryLevelAttributes(array)
Returns ​
void
Throws ​
Events ​
EVENT_AFTER_EXECUTE_INVENTORY_MOVEMENT ​
The event that is triggered after an inventory movement is executed.
use craft\commerce\events\InventoryMovementEvent;
use craft\commerce\services\Inventory;
use craft\commerce\base\InventoryMovementInterface;
use yii\base\Event;
Event::on(
Inventory::class,
Inventory::EVENT_AFTER_EXECUTE_INVENTORY_MOVEMENT,
function(InventoryMovementEvent $event) {
// @var InventoryMovementInterface $inventoryMovement
$inventoryMovement = $event->inventoryMovement;
}
);EVENT_AFTER_EXECUTE_UPDATE_INVENTORY_LEVEL ​
The event that is triggered after an inventory level update is executed.
use craft\commerce\events\UpdateInventoryLevelEvent;
use craft\commerce\services\Inventory;
use craft\commerce\models\inventory\UpdateInventoryLevel;
use yii\base\Event;
Event::on(
Inventory::class,
Inventory::EVENT_AFTER_EXECUTE_UPDATE_INVENTORY_LEVEL,
function(UpdateInventoryLevelEvent $event) {
// @var UpdateInventoryLevel $updateInventoryLevel
$updateInventoryLevel = $event->updateInventoryLevel;
}
);