Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
source_items_for_simple_on_multi_source.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
10 use Magento\InventoryApi\Api\Data\SourceItemInterfaceFactory;
14 
16 $dataObjectHelper = Bootstrap::getObjectManager()->get(DataObjectHelper::class);
18 $sourceItemFactory = Bootstrap::getObjectManager()->get(SourceItemInterfaceFactory::class);
20 $sourceItemsSave = Bootstrap::getObjectManager()->get(SourceItemsSaveInterface::class);
22 $defaultSourceProvider = Bootstrap::getObjectManager()->get(DefaultSourceProviderInterface::class);
23 
35  [
36  SourceItemInterface::SOURCE_CODE => 'eu-1',
37  SourceItemInterface::SKU => 'simple',
38  SourceItemInterface::QUANTITY => 2,
39  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
40  ],
41  [
42  SourceItemInterface::SOURCE_CODE => 'eu-2',
43  SourceItemInterface::SKU => 'simple',
44  SourceItemInterface::QUANTITY => 12,
45  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
46  ],
47  [
48  SourceItemInterface::SOURCE_CODE => 'eu-3',
49  SourceItemInterface::SKU => 'simple',
50  SourceItemInterface::QUANTITY => 12,
51  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
52  ],
53  [
54  SourceItemInterface::SOURCE_CODE => 'eu-disabled',
55  SourceItemInterface::SKU => 'simple',
56  SourceItemInterface::QUANTITY => 6,
57  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
58  ],
59  [
60  SourceItemInterface::SOURCE_CODE => 'us-1',
61  SourceItemInterface::SKU => 'simple',
62  SourceItemInterface::QUANTITY => 10,
63  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
64  ],
65 ];
66 
68 foreach ($sourcesItemsData as $sourceItemData) {
70  $sourceItem = $sourceItemFactory->create();
71  $dataObjectHelper->populateWithArray($sourceItem, $sourceItemData, SourceItemInterface::class);
73 }