- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/internals/task/searchindex.php
- Класс: BitrixTasksInternalsTaskSearchIndexTable
- Вызов: SearchIndexTable::set
static function set(int $taskId, int $messageId, string $searchIndex): bool
{
$messageId = ($messageId ?: 0);
$searchIndex = trim($searchIndex);
if ($taskId <= 0 || empty($searchIndex))
{
return false;
}
$connection = Application::getConnection();
$sqlHelper = $connection->getSqlHelper();
$searchIndex = $sqlHelper->forSql($searchIndex);
$row = static::getList([
'select' => ['ID', 'SEARCH_INDEX'],
'filter' => [
'TASK_ID' => $taskId,
'MESSAGE_ID' => $messageId,
],
])->fetch();
if (!$row)
{
static::add([
'TASK_ID' => $taskId,
'MESSAGE_ID' => $messageId,
'SEARCH_INDEX' => $searchIndex,
]);
return true;
}
if ($searchIndex === $row['SEARCH_INDEX'])
{
return true;
}
static::update(
['ID' => $row['ID']],
['SEARCH_INDEX' => $searchIndex],
);
return true;
}