resource = $resource; } /** * @inheritdoc */ public function execute(string $sku, int $stockId): float { $connection = $this->resource->getConnection(); $reservationTable = $this->resource->getTableName('inventory_reservation'); $select = $connection->select() ->from($reservationTable, [ReservationInterface::QUANTITY => 'SUM(' . ReservationInterface::QUANTITY . ')']) ->where(ReservationInterface::SKU . ' = ?', $sku) ->where(ReservationInterface::STOCK_ID . ' = ?', $stockId) ->limit(1); $reservationQty = $connection->fetchOne($select); if (false === $reservationQty) { $reservationQty = 0; } return (float)$reservationQty; } }