37 return 'b_sale_d_ix_element';
49 'data_type' =>
'integer',
51 'autocomplete' =>
true,
53 'DISCOUNT_ID' =>
array(
54 'data_type' =>
'integer',
58 'data_type' =>
'\Bitrix\Sale\Internals\DiscountTable',
60 '=this.DISCOUNT_ID' =>
'ref.ID'
62 'join_type' =>
'INNER',
64 'DISCOUNT_GROUP' =>
array(
65 'data_type' =>
'\Bitrix\Sale\Internals\DiscountGroupTable',
67 '=this.DISCOUNT_ID' =>
'ref.DISCOUNT_ID'
69 'join_type' =>
'INNER',
71 'ELEMENT_ID' =>
array(
72 'data_type' =>
'integer',
86 $discountId = (int)$discountId;
95 'delete from ' . $helper->quote(self::getTableName()) .
96 ' where ' . $helper->quote(
'DISCOUNT_ID') .
' = ' . $discountId
103 foreach($indexData as $elementId)
106 'DISCOUNT_ID' => $discountId,
107 'ELEMENT_ID' => $elementId,
111 static::insertBatch(
$items);
121 $tableName = static::getTableName();
130 list($prefix, $values) = $sqlHelper->prepareInsert($tableName, $item);
133 if(mb_strlen(
$query) > self::MAX_LENGTH_BATCH_MYSQL_QUERY)
135 $connection->queryExecute(
"INSERT INTO {$tableName} ({$prefix}) VALUES {$query}");
143 $connection->queryExecute(
"INSERT INTO {$tableName} ({$prefix}) VALUES {$query}");
148 $valueData =
array();
151 list($prefix, $values) = $sqlHelper->prepareInsert($tableName, $item);
152 $valueData[] =
"SELECT {$values}";
156 $valuesSql = implode(
' UNION ALL ', $valueData);
157 if($valuesSql && $prefix)
159 $connection->queryExecute(
"INSERT INTO {$tableName} ({$prefix}) $valuesSql");
164 $valueData =
array();
167 list($prefix, $values) = $sqlHelper->prepareInsert($tableName, $item);
168 $valueData[] =
"SELECT {$values} FROM dual";
172 $valuesSql = implode(
' UNION ALL ', $valueData);
173 if($valuesSql && $prefix)
175 $connection->queryExecute(
"INSERT INTO {$tableName} ({$prefix}) $valuesSql");
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)