• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/model/chatindex.php
  • Класс: BitrixImModelChatIndexTable
  • Вызов: ChatIndexTable::updateIndex
static function updateIndex($id, $primaryField, array $updateData): MainORMDataUpdateResult
{
	$result = new MainORMDataUpdateResult();
	$helper = Application::getConnection()->getSqlHelper();

	if (isset($updateData[$primaryField]))
	{
		unset($updateData[$primaryField]);
	}

	if (method_exists($helper, 'getConditionalAssignment'))
	{
		if (isset($updateData['SEARCH_CONTENT']))
		{
			$updateData['SEARCH_CONTENT'] = new MainDBSqlExpression($helper->getConditionalAssignment('SEARCH_CONTENT', $updateData['SEARCH_CONTENT']));
		}

		if (isset($updateData['SEARCH_TITLE']))
		{
			$updateData['SEARCH_TITLE'] = new MainDBSqlExpression($helper->getConditionalAssignment('SEARCH_TITLE', $updateData['SEARCH_TITLE']));
		}
	}

	$update = $helper->prepareUpdate(
		static::getTableName(),
		$updateData
	);

	if ($update[0] !== '')
	{
		Application::getConnection()->query(
			"UPDATE " . static::getTableName() . " SET " . $update[0] . " WHERE " . $primaryField . " = " . $id
		);
	}

	return $result;
}