KJ\Magento\Command\Order\Create\DummyCommand::_loadRandomProduct PHP Метод

_loadRandomProduct() защищенный Метод

protected _loadRandomProduct ( $skuPattern = null )
    protected function _loadRandomProduct($skuPattern = null)
    {
        // Choose only from simple products so that no configuration has to be made
        /** @var \Mage_Catalog_Model_Resource_Product_Collection $products */
        $products = \Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('type_id', \Mage_Catalog_Model_Product_Type::TYPE_SIMPLE);
        $products->setPageSize(1);
        $products->getSelect()->order(new \Zend_Db_Expr('RAND()'));
        if ($skuPattern) {
            $products->getSelect()->where('sku LIKE ?', $skuPattern);
        }
        // Only find random products that are saleable and in stock
        /** @var \Mage_Catalog_Model_Product_Status $productStatus */
        $productStatus = \Mage::getModel('catalog/product_status');
        $productStatus->addSaleableFilterToCollection($products);
        /** @var \Mage_CatalogInventory_Model_Stock $stock */
        $stock = \Mage::getModel('cataloginventory/stock');
        $stock->addInStockFilterToCollection($products);
        if (!$products->getSize()) {
            $errorMessage = 'No products are matching the criteria';
            if ($skuPattern) {
                $errorMessage .= " ({$skuPattern})";
            }
            throw new \Exception($errorMessage);
        }
        /** @var \Mage_Catalog_Model_Product $firstResult */
        $firstResult = $products->getFirstItem();
        $product = \Mage::getModel('catalog/product')->load($firstResult->getId());
        return $product;
    }