Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-inventory
Model
ResourceModel
SourceItem
DeleteMultiple.php
Go to the documentation of this file.
1
<?php
6
declare(strict_types=1);
7
8
namespace
Magento\Inventory\Model\ResourceModel\SourceItem
;
9
10
use
Magento\Framework\App\ResourceConnection
;
11
use
Magento\Inventory\Model\ResourceModel\SourceItem
as
SourceItemResourceModel
;
12
use
Magento\InventoryApi\Api\Data\SourceItemInterface
;
13
18
class
DeleteMultiple
19
{
23
private
$resourceConnection;
24
28
public
function
__construct
(
29
ResourceConnection
$resourceConnection
30
) {
31
$this->resourceConnection =
$resourceConnection
;
32
}
33
40
public
function
execute
(array
$sourceItems
)
41
{
42
if
(!count(
$sourceItems
)) {
43
return
;
44
}
45
$connection
= $this->resourceConnection->getConnection();
46
$tableName
= $this->resourceConnection->getTableName(SourceItemResourceModel::TABLE_NAME_SOURCE_ITEM);
47
48
$whereSql = $this->buildWhereSqlPart(
$sourceItems
);
49
$connection
->delete(
$tableName
, $whereSql);
50
}
51
56
private
function
buildWhereSqlPart(array
$sourceItems
): string
57
{
58
$connection
= $this->resourceConnection->getConnection();
59
60
$condition = [];
61
foreach
(
$sourceItems
as
$sourceItem
) {
62
$skuCondition =
$connection
->quoteInto(
63
SourceItemInterface::SKU
.
' = ?'
,
64
$sourceItem
->getSku()
65
);
66
$sourceCodeCondition =
$connection
->quoteInto(
67
SourceItemInterface::SOURCE_CODE
.
' = ?'
,
68
$sourceItem
->getSourceCode()
69
);
70
$condition[] =
'('
. $skuCondition .
' AND '
. $sourceCodeCondition .
')'
;
71
}
72
return
implode(
' OR '
, $condition);
73
}
74
}
Magento\Inventory\Model\ResourceModel\SourceItem\DeleteMultiple
Definition:
DeleteMultiple.php:18
$tableName
$tableName
Definition:
trigger.php:13
Magento\Inventory\Model\ResourceModel\SourceItem\DeleteMultiple\__construct
__construct(ResourceConnection $resourceConnection)
Definition:
DeleteMultiple.php:28
Magento\InventoryApi\Api\Data\SourceItemInterface\SOURCE_CODE
const SOURCE_CODE
Definition:
SourceItemInterface.php:26
Magento\InventoryApi\Api\Data\SourceItemInterface
Definition:
SourceItemInterface.php:20
$sourceItems
$sourceItems
Definition:
source_items.php:76
Magento\InventoryApi\Api\Data\SourceItemInterface\SKU
const SKU
Definition:
SourceItemInterface.php:25
Magento\Inventory\Model\ResourceModel\SourceItem
Definition:
Collection.php:8
Magento\Inventory\Model\ResourceModel\SourceItem\DeleteMultiple\execute
execute(array $sourceItems)
Definition:
DeleteMultiple.php:40
$resourceConnection
$resourceConnection
Definition:
website_attribute_sync.php:32
Magento\Framework\App\ResourceConnection
Definition:
ResourceConnection.php:18
$connection
$connection
Definition:
bulk.php:13
Magento\Framework\App\ResourceConnection
$sourceItem
$sourceItem
Definition:
set_product_bundle_out_of_stock.php:24