• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/internals/volume.php
  • Класс: BitrixDiskInternalsVolumeTable
  • Вызов: VolumeTable::deleteBatch
static function deleteBatch(array $filter)
{
	$connection = MainApplication::getConnection();
	$tableName = static::getTableName();

	$filterSql = array();
	$fieldList = static::getMap();
	foreach ($filter as $key => $val)
	{
		if (isset($fieldList[$key]))
		{
			if ($fieldList[$key]['data_type'] === 'integer' || $fieldList[$key]['data_type'] === 'enum')
			{
				$val = (int)$val;
				$filterSql[] = "{$key} = {$val}";
			}
			elseif ($fieldList[$key]['data_type'] === 'string')
			{
				$val = $connection->getSqlHelper()->forSql($val);
				$filterSql[] = "{$key} = '{$val}''";
			}
		}
	}
	if (count($filterSql) > 0)
	{
		$connection->queryExecute("DELETE FROM {$tableName} WHERE ".implode(' AND ', $filterSql));
	}
	else
	{
		$connection->truncateTable($tableName);
	}
}