Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GetSourceItemBySourceCodeAndSku.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 
19 {
23  private $sourceItemRepository;
24 
28  private $searchCriteriaBuilder;
29 
34  public function __construct(
35  SourceItemRepositoryInterface $sourceItemRepository,
36  SearchCriteriaBuilder $searchCriteriaBuilder
37  ) {
38  $this->sourceItemRepository = $sourceItemRepository;
39  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
40  }
41 
50  public function execute(string $sourceCode, string $sku): SourceItemInterface
51  {
52  $searchCriteria = $this->searchCriteriaBuilder
54  ->addFilter(SourceItemInterface::SKU, $sku)
55  ->create();
56  $sourceItemsResult = $this->sourceItemRepository->getList($searchCriteria);
57 
58  if ($sourceItemsResult->getTotalCount() === 0) {
59  throw new NoSuchEntityException(
60  __('Source item not found by source code: %1 and sku: %2.', $sourceCode, $sku)
61  );
62  }
63 
64  return current($sourceItemsResult->getItems());
65  }
66 }
__()
Definition: __.php:13
$searchCriteria
__construct(SourceItemRepositoryInterface $sourceItemRepository, SearchCriteriaBuilder $searchCriteriaBuilder)
$sourceCode
Definition: inventory.phtml:11
$searchCriteriaBuilder
$sourceItemRepository