Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GetSourceItemIds.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
13 
18 {
22  private $resourceConnection;
23 
27  public function __construct(ResourceConnection $resourceConnection)
28  {
29  $this->resourceConnection = $resourceConnection;
30  }
31 
36  public function execute(array $sourceItems): array
37  {
38  $connection = $this->resourceConnection->getConnection();
39  $select = $connection->select()
40  ->from(
41  $this->resourceConnection->getTableName(SourceItemResourceModel::TABLE_NAME_SOURCE_ITEM),
42  [SourceItemResourceModel::ID_FIELD_NAME]
43  );
44  foreach ($sourceItems as $sourceItem) {
45  $sku = $connection->quote($sourceItem->getSku());
46  $sourceCode = $connection->quote($sourceItem->getSourceCode());
47  $select->orWhere(
48  SourceItemInterface::SKU . " = {$sku} AND " .
49  SourceItemInterface::SOURCE_CODE ." = {$sourceCode}"
50  );
51  }
52 
53  return $connection->fetchCol($select, SourceItemResourceModel::ID_FIELD_NAME);
54  }
55 }
$sourceItems
$sourceCode
Definition: inventory.phtml:11
$connection
Definition: bulk.php:13