• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/model/base.php
  • Класс: BitrixVoximplantModelBase
  • Вызов: Base::updateBatch
static function updateBatch(array $fields, array $filter, $limit = 0)
{
	$limit = (int)$limit;
	$tableName = static::getTableName();
	$connection = Application::getConnection();
	$sqlHelper = $connection->getSqlHelper();

	$update = $sqlHelper->prepareUpdate($tableName, $fields);

	$query = new Query(static::getEntity());
	$query->setFilter($filter);
	$query->getQuery();

	$alias = $sqlHelper->quote($query->getInitAlias()) . '.';
	$where = str_replace($alias, '', $query->getWhere());

	$sql = 'UPDATE ' . $tableName . ' SET ' . $update[0] . ' WHERE ' . $where;
	if($limit > 0)
	{
		$sql .= ' LIMIT ' . $limit;
	}

	$connection->queryExecute($sql, $update[1]);
	return $connection->getAffectedRowsCount();
}