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

GetList

Класс устарел. Рекомендуется использовать методы класса Bitrix\Sale\Location.

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

CDBResult
CSaleLocation::GetList(
 array arOrder = array("SORT"=>"ASC", "COUNTRY_NAME_LANG"=>"ASC", "CITY_NAME_LANG"=>"ASC"),
 array arFilter = array(),
 array arGroupBy = false,
 array arNavStartParams = false,
 array arSelectFields = array()
);

Метод возвращает набор местоположений, удовлетворяющих фильтру arFilter. Возвращаются так же параметры стран и городов местоположений. Набор отсортирован в соответствии с массивом arOrder. Языкозависимые параметры выбираются для языка strLang. Нестатический метод.

Параметры вызова

ПараметрОписаниеС версии
arOrder Массив, в соответствии с которым сортируются результирующие записи. Массив имеет вид:
array(
"название_поля1" => "направление_сортировки1",
"название_поля2" => "направление_сортировки2",
. . .
)
В качестве "название_поляN" может стоять любое поле местоположения, а в качестве "направление_сортировкиX" могут быть значения "ASC" (по возрастанию) и "DESC" (по убыванию).

Если массив сортировки имеет несколько элементов, то результирующий набор сортируется последовательно по каждому элементу (т.е. сначала сортируется по первому элементу, потом результат сортируется по второму и т.д.).
arFilter Массив, в соответствии с которым фильтруются записи местоположений. Массив имеет вид:
array(
"[модификатор1][оператор1]название_поля1" => "значение1",
"[модификатор2][оператор2]название_поля2" => "значение2",
. . .
)
Удовлетворяющие фильтру записи возвращаются в результате, а записи, которые не удовлетворяют условиям фильтра, отбрасываются.

Допустимыми являются следующие модификаторы:
  • ! - отрицание;
  • + - значения null, 0 и пустая строка так же удовлетворяют условиям фильтра.
Допустимыми являются следующие операторы:
  • >= - значение поля больше или равно передаваемой в фильтр величины;
  • > - значение поля строго больше передаваемой в фильтр величины;
  • <= - значение поля меньше или равно передаваемой в фильтр величины;
  • < - значение поля строго меньше передаваемой в фильтр величины;
  • ~ - значение поля проверяется на соответствие передаваемому в фильтр шаблону;
  • % - значение поля проверяется на соответствие передаваемой в фильтр строке в соответствии с языком запросов.
В качестве "название_поляX" может стоять любое поле местоположения.

Пример фильтра:
array("COUNTRY_ID" => 15)
Этот фильтр означает "выбрать все записи, в которых значение в поле COUNTRY_ID (код страны) равно 15".

Значение по умолчанию - пустой массив array() - означает, что результат отфильтрован не будет.
arGroupBy Массив полей, по которым группируются записи местоположений. Массив имеет вид:
array("название_поля1",
      "группирующая_функция2" => "название_поля2", ...)
В качестве "название_поляN" может стоять любое поле местоположений. В качестве группирующей функции могут стоять:
  • COUNT - подсчет количества;
  • AVG - вычисление среднего значения;
  • MIN - вычисление минимального значения;
  • MAX - вычисление максимального значения;
  • SUM - вычисление суммы.
Если массив пустой, то метод вернет число записей, удовлетворяющих фильтру.

Значение по умолчанию - false - означает, что результат группироваться не будет.
4.0.6
arNavStartParams Массив параметров выборки. Может содержать следующие ключи:
  • "nTopCount" - количество возвращаемых методом записей будет ограничено сверху значением этого ключа;
  • любой ключ, принимаемый методом CDBResult::NavQuery в качестве третьего параметра.
Значение по умолчанию - false - означает, что параметров выборки нет.
4.0.6
arSelectFields Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение "*", то будут возвращены все доступные поля.

Значение по умолчанию - пустой массив array() - означает, что будут возвращены все поля основной таблицы запроса.
4.0.6

Возвращаемые значения

Возвращается объект класса CDBResult, содержащий набор ассоциативных массивов с ключами:

Ключ Описание
ID Код местоположения.
COUNTRY_ID Код страны.
REGION_ID Код региона.
CITY_ID Код города.
SORT Индекс сортировки.
COUNTRY_NAME_ORIG Языконезависимое название страны.
COUNTRY_SHORT_NAME Языконезависимое короткое название страны.
REGION_NAME_ORIG Языконезависимое название региона.
CITY_NAME_ORIG Языконезависимое название города.
REGION_SHORT_NAME Языконезависимое короткое название региона.
CITY_SHORT_NAME Языконезависимое короткое название города.
COUNTRY_LID Код языка для наименования страны.
COUNTRY_NAME Языкозависимое название страны, если оно установлено. Иначе - языконезависимое название страны.
REGION_LID Код языка для наименования региона.
CITY_LID Код языка для наименования города.
REGION_NAME Языкозависимое название региона, если оно установлено. Иначе - языконезависимое название региона.
CITY_NAME Языкозависимое название города, если оно установлено. Иначе - языконезависимое название города.
LOC_DEFAULT Флаг "Выводить по умолчанию".

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

<?// Выведем выпадающий список местоположений?>

<select name="LOCATION">
   <?
   $db_vars = CSaleLocation::GetList(
        array(
                "SORT" => "ASC",
                "COUNTRY_NAME_LANG" => "ASC",
                "CITY_NAME_LANG" => "ASC"
            ),
        array("LID" => LANGUAGE_ID),
        false,
        false,
        array()
    );
   while ($vars = $db_vars->Fetch()):
      ?>
      <option value="<?= $vars["ID"]?>"><?= htmlspecialchars($vars["COUNTRY_NAME"]." - ".$vars["CITY_NAME"])?></option>
      <?
   endwhile;
   ?>
</select>
?>


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