Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GetQuantityInformationPerSourceBySkus.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
10 use Magento\Framework\Api\SearchCriteriaBuilderFactory;
14 
19 {
23  private $sourceItemRepository;
24 
28  private $searchCriteriaBuilderFactory;
29 
33  private $sourceRepository;
34 
40  public function __construct(
41  SourceItemRepositoryInterface $sourceItemRepository,
42  SearchCriteriaBuilderFactory $searchCriteriaBuilderFactory,
43  SourceRepositoryInterface $sourceRepository
44  ) {
45  $this->sourceItemRepository = $sourceItemRepository;
46  $this->searchCriteriaBuilderFactory = $searchCriteriaBuilderFactory;
47  $this->sourceRepository = $sourceRepository;
48  }
49 
54  public function execute(array $skus): array
55  {
56  $sourceItemsInformation = [];
57 
58  $searchCriteriaBuilder = $this->searchCriteriaBuilderFactory->create();
60  $sourceItems = $this->sourceItemRepository->getList($searchCriteria)->getItems();
61 
62  foreach ($sourceItems as $sourceItem) {
63  $source = $this->sourceRepository->get($sourceItem->getSourceCode());
64  $sourceItemsInformation[$sourceItem['sku']][] = [
67  'source_name' => $source->getName(),
69  ];
70  }
71 
72  return $sourceItemsInformation;
73  }
74 }
$source
Definition: source.php:23
__construct(SourceItemRepositoryInterface $sourceItemRepository, SearchCriteriaBuilderFactory $searchCriteriaBuilderFactory, SourceRepositoryInterface $sourceRepository)
foreach($websiteCodes as $websiteCode) $skus
$searchCriteria
$sourceItems
$searchCriteriaBuilder
$sourceRepository
Definition: source.php:20
$sourceItemRepository