6 declare(strict_types=1);
22 private $conditions = [];
27 private $resourceConnection;
37 array $conditions = []
39 foreach ($conditions as $getIsSalableCondition) {
42 __(
'Condition must implement %1', GetIsStockItemSalableConditionInterface::class)
47 $this->conditions = $conditions;
56 if (empty($this->conditions)) {
60 $conditionStrings = [];
61 foreach ($this->conditions as $condition) {
62 $conditionString = $condition->execute(
$select);
63 if (
'' !== trim($conditionString)) {
64 $conditionStrings[] = $conditionString;
68 $isSalableString =
'(' . implode($conditionStrings,
') OR (') .
')';
69 return (
string)$this->resourceConnection->getConnection()->getCheckSql($isSalableString, 1, 0);
__construct(ResourceConnection $resourceConnection, array $conditions=[])