Как настроить фильтр для поиска местоположений?

Как можно отфильтровать выборку местоположений из таблицы Bitrix\Sale\Location\LocationTable::getList по стране или региону? Нужно ли формировать полную вложенность и затем делать проверку по ней?
  • 24 мая 2024 г. 6:30
Ответы на вопрос 1
Для настройки фильтра по местоположениям в таблице Bitrix\Sale\Location\LocationTable::getList вы можете использовать метод setFilter(), который позволяет указать условия фильтрации.

Например, если вы хотите отфильтровать местоположения по стране или региону, вы можете указать соответствующие условия в фильтре. Например, для фильтрации по стране вы можете использовать такой код:

```php
$filter = array(
    '=TYPE.CODE' => 'COUNTRY',
    '=NAME.NAME' => 'Название страны',
);
$locations = Bitrix\Sale\Location\LocationTable::getList(array(
    'filter' => $filter,
))->fetchAll();
```

Аналогично, для фильтрации по региону, вы можете использовать условия вида "REGION":

```php
$filter = array(
    '=TYPE.CODE' => 'REGION',
    '=NAME.NAME' => 'Название региона',
);
$locations = Bitrix\Sale\Location\LocationTable::getList(array(
    'filter' => $filter,
))->fetchAll();
```

Вам не обязательно формировать полную вложенность местоположений и делать проверку по ней. Просто укажите нужные условия фильтрации и получите выборку местоположений соответственно вашим критериям.
Похожие вопросы