Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GetDefaultSourceItemBySku.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 
19 {
23  private $searchCriteriaBuilder;
24 
28  private $defaultSourceProvider;
29 
33  private $sourceItemRepository;
34 
40  public function __construct(
41  SearchCriteriaBuilder $searchCriteriaBuilder,
42  DefaultSourceProviderInterface $defaultSourceProvider,
43  SourceItemRepositoryInterface $sourceItemRepository
44  ) {
45  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
46  $this->defaultSourceProvider = $defaultSourceProvider;
47  $this->sourceItemRepository = $sourceItemRepository;
48  }
49 
54  public function execute(string $productSku): ?SourceItemInterface
55  {
56  $searchCriteria = $this->searchCriteriaBuilder
57  ->addFilter(SourceItemInterface::SKU, $productSku)
58  ->addFilter(SourceItemInterface::SOURCE_CODE, $this->defaultSourceProvider->getCode())
59  ->create();
60 
61  $sourceItems = $this->sourceItemRepository->getList($searchCriteria)->getItems();
62  return count($sourceItems) ? reset($sourceItems) : null;
63  }
64 }
$searchCriteria
$sourceItems
__construct(SearchCriteriaBuilder $searchCriteriaBuilder, DefaultSourceProviderInterface $defaultSourceProvider, SourceItemRepositoryInterface $sourceItemRepository)
$searchCriteriaBuilder
$sourceItemRepository