Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
source_items_grouped_multiple.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
10 use Magento\InventoryApi\Api\Data\SourceItemInterfaceFactory;
13 
14 $objectManager = Bootstrap::getObjectManager();
15 
17 $dataObjectHelper = $objectManager->get(DataObjectHelper::class);
19 $sourceItemFactory = $objectManager->get(SourceItemInterfaceFactory::class);
21 $sourceItemsSave = $objectManager->get(SourceItemsSaveInterface::class);
22 
23 /*
24  * SKU us-1 eu-1 eu-2 eu-3
25  * simple_11 100 100 100 0
26  * simple_22 100 100 0 0
27  */
28 
30  [
31  SourceItemInterface::SOURCE_CODE => 'us-1',
32  SourceItemInterface::SKU => 'simple_11',
33  SourceItemInterface::QUANTITY => 100,
34  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
35  ],
36  [
37  SourceItemInterface::SOURCE_CODE => 'eu-1',
38  SourceItemInterface::SKU => 'simple_11',
39  SourceItemInterface::QUANTITY => 100,
40  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
41  ],
42  [
43  SourceItemInterface::SOURCE_CODE => 'eu-2',
44  SourceItemInterface::SKU => 'simple_11',
45  SourceItemInterface::QUANTITY => 100,
46  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
47  ],
48  [
49  SourceItemInterface::SOURCE_CODE => 'eu-3',
50  SourceItemInterface::SKU => 'simple_11',
51  SourceItemInterface::QUANTITY => 0,
52  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
53  ],
54  [
55  SourceItemInterface::SOURCE_CODE => 'us-1',
56  SourceItemInterface::SKU => 'simple_22',
57  SourceItemInterface::QUANTITY => 100,
58  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
59  ],
60  [
61  SourceItemInterface::SOURCE_CODE => 'eu-1',
62  SourceItemInterface::SKU => 'simple_22',
63  SourceItemInterface::QUANTITY => 100,
64  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
65  ],
66  [
67  SourceItemInterface::SOURCE_CODE => 'eu-2',
68  SourceItemInterface::SKU => 'simple_22',
69  SourceItemInterface::QUANTITY => 0,
70  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
71  ],
72  [
73  SourceItemInterface::SOURCE_CODE => 'eu-3',
74  SourceItemInterface::SKU => 'simple_22',
75  SourceItemInterface::QUANTITY => 0,
76  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
77  ],
78 ];
79 
81 foreach ($sourcesItemsData as $sourceItemData) {
83  $sourceItem = $sourceItemFactory->create();
84  $dataObjectHelper->populateWithArray($sourceItem, $sourceItemData, SourceItemInterface::class);
86 }