Документация для разработчиков
Темная тема

GetList

Описание и параметры

CDBResult
CGroup::GetList(
	string &by = "c_sort",
	string &order = "asc",
	array filter,
	string SHOW_USERS_AMOUNT = "N"
)

Возвращает список групп в виде объекта класса CDBResult. Статический метод.

Параметры

ПараметрОписание С версии
by Ссылка на переменную с полем для сортировки, может принимать следующие значения:
  • id - ID группы
  • timestamp_x - дата изменения
  • name - название
  • active - активность
  • c_sort - порядок сортировки
  • description - описание
  • users - кол-во пользователей входящих в группу

Значения по умолчанию не имеет

оrder Ссылка на переменную с порядком сортировки, может принимать следующие значения:
  • asc - по возрастанию
  • desc - по убыванию

Значения по умолчанию не имеет

filter Массив для фильтрации пользователей. В массиве допустимы следующие индексы:
  • ID - ID группы (допускается сложная логика)
  • TIMESTAMP_1 - дата изменения настроек группы "с"
  • TIMESTAMP_2 - дата изменения настроек группы "по"
  • ACTIVE - фильтр по активности (Y|N)
  • ADMIN - фильтр по типу группы ("Y" - администраторы | "N" - не администраторы)
  • NAME - по названию (допускается сложная логика)
  • DESCRIPTION - по описанию (допускается сложная логика)
  • USERS_1 - кол-во пользователей "с"
  • USERS_2 - кол-во пользователей "по"
  • STRING_ID - символьный код
SHOW_USERS_AMOUNT "Y" - в выборке будет присутствовать поле ("USERS") с количеством пользователей в каждой группе; "N" - в выборке не будет поля с количеством пользователей в каждой группе (по умолчанию); 3.3.12

Смотрите также

Примеры использования

<?
$filter = Array
(
	"ID"             => "1 | 2",
	"TIMESTAMP_1"    => "04.02.2004", // в формате текущего сайта
	"TIMESTAMP_2"    => "04.02.2005",
	"ACTIVE"         => "Y",
	"NAME"           => "Техподдержка",
	"DESCRITION"     => "специальная | поддержка",
	"USERS_1"        => "2", // от 2 пользователей
	"USERS_2"        => "10" // до 10 пользователей
);
$rsGroups = CGroup::GetList(($by="c_sort"), ($order="desc"), $filter); // выбираем группы
$is_filtered = $rsGroups->is_filtered; // отфильтрована ли выборка ?
$rsGroups->NavStart(50); // разбиваем постранично по 50 записей
echo $rsGroups->NavPrint(GetMessage("PAGES")); // печатаем постраничную навигацию
while($rsGroups->NavNext(true, "f_")) :
	echo "[".$f_ID."] ".$f_NAME." ".$f_DESCRIPTION."<br>";	
endwhile;
?>

Фильтровать можно по полю "STRING_ID" - символьному идентификатору группы. Например:

// Возвращает группу по символьному идентификатору
function GetGroupByCode ($code)
{
	$rsGroups = CGroup::GetList ($by = "c_sort", $order = "asc", Array ("STRING_ID" => $code));
	return $rsGroups->Fetch();
} 

Пример фильтрации по полю "STRING_ID" по нескольким группам:

$rsGroups = CGroup::GetList($by = "c_sort", $order = "asc", array("STRING_ID"=>'groupe code|groupe code|groupe code'));
if(intval($rsGroups->SelectedRowsCount()) > 0)
{
	while($arGroups = $rsGroups->Fetch())
	{
		$arUsersGroups[] = $arGroups;
	}
}


© «Битрикс», 2001-2024, «1С-Битрикс», 2024