- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/control/tag.php
- Класс: BitrixTasksControlTag
- Вызов: Tag::addToGroup
private function addToGroup(int $groupId, array $tags): array
{
if (empty($tags))
{
return [];
}
$implode = [];
$names = [];
foreach ($tags as $tag)
{
$names[] = trim($tag['NAME']);
$name = Application::getConnection()->getSqlHelper()->forSql(trim($tag['NAME']));
$implode [] = "('{$name}', {$groupId})";
}
$implode = implode(',', $implode);
$sql = 'INSERT IGNORE INTO ' . LabelTable::getTableName() . " (`NAME`, `GROUP_ID`) VALUES {$implode}";
Application::getConnection()->query($sql);
$idRows = LabelTable::getList([
'select' => [
'ID',
],
'filter' => [
'=GROUP_ID' => $groupId,
'=NAME' => $names,
],
])->fetchAll();
$idList = [];
foreach ($idRows as $row)
{
$idList[] = (int)$row['ID'];
}
return $idList;
}