![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/setup/src/Magento/Setup/Fixtures/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Setup\Fixtures; use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; /** * Provide amount of products which need to be generated by fixture */ class ProductsAmountProvider { /** * @var CollectionFactory */ private $productCollectionFactory; /** * @param CollectionFactory $collectionFactory */ public function __construct(CollectionFactory $collectionFactory) { $this->productCollectionFactory = $collectionFactory; } /** * Get amount of products filtered by specified pattern * * @param int $requestedProducts * @param string $productSkuPattern * @return int */ public function getAmount($requestedProducts, $productSkuPattern) { $productSkuPattern = str_replace('%s', '[0-9]+', $productSkuPattern); $productCollection = $this->productCollectionFactory->create(); $productCollection ->getSelect() ->where('sku ?', new \Zend_Db_Expr('REGEXP \'^' . $productSkuPattern . '$\'')); return max(0, $requestedProducts - $productCollection->getSize()); } }