Dumplie\Inventory\Infrastructure\Doctrine\DBAL\Query\DbalInventoryQuery::getBySku PHP Method

getBySku() public method

public getBySku ( string $sku ) : Product
$sku string
return Dumplie\Inventory\Application\Query\Result\Product
    public function getBySku(string $sku) : Product
    {
        $qb = $this->connection->createQueryBuilder();
        $qb->select('*')->from('dumplie_inventory_product')->where('sku = :sku')->setParameter('sku', $sku);
        $productData = $this->connection->fetchAssoc($qb->getSQL(), $qb->getParameters());
        if (empty($productData)) {
            throw QueryException::productNotFound($sku);
        }
        return new Product($productData['sku'], $productData['price_amount'] / $productData['price_precision'], $productData['price_currency'], (bool) $productData['is_in_stock'], $this->mao->getBy([Metadata::FIELD_SKU => $productData['sku']]));
    }