- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/internals/database/structure/closuretree.php
- Класс: BitrixTasksInternalsDataBaseStructureClosureTree
- Вызов: ClosureTree::getRootNode
static function getRootNode($id, array $parameters = array(), array $settings = array())
{
$id = intval($id);
if(!$id)
{
return null;
}
if(!$settings['RETURN_ARRAY'])
{
// todo: future-reserved, to be able to return object
throw new MainNotImplementedException();
}
/** @var DataManager $dc */
$dc = static::getDataController();
$pCName = static::getParentNodeColumnName();
$cName = static::getNodeColumnName();
$parameters['runtime'][] = new EntityReferenceField(
'TDD',
$dc::getEntity(),
array(
'=ref.'.$cName => 'this.'.$pCName,
//'=ref.DIRECT' => array('?', '1'),
'!=ref.'.$cName => 'ref.'.$pCName,
),
array(
'join_type' => 'left'
)
);
$parameters['filter']['='.$cName] = $id;
$parameters['filter']['=TDD.'.$pCName] = false;
$parameters['limit'] = 1;
$parameters['select'][] = $pCName;
$item = $dc::getList($parameters)->fetch();
if($item)
{
$item['__ID'] = $item[$pCName];
unset($item[$pCName]);
}
return $item;
}