Таблица views_view_filter
Таблица views_view_filter является частью системы представлений (Views) в Drupal и отвечает за хранение настроек фильтров, которые применяются к данным при построении представления. Каждый фильтр определяет условия, которым должны соответствовать данные, чтобы быть включенными в результат.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
vid |
int |
Идентификатор версии представления. Внешний ключ к таблице views_view.
|
id |
varchar(255) |
Машинное имя фильтра. Уникальный идентификатор в рамках одного представления. |
field |
varchar(64) |
Название поля или свойства, к которому применяется фильтр. |
admin_label |
varchar(255) |
Человекочитаемое название фильтра, отображаемое в интерфейсе администрирования. |
operator |
varchar(64) |
Оператор сравнения для условия фильтрации (например, =, <>, IN, LIKE). |
value |
text |
Значение или набор значений для сравнения с полем в соответствии с оператором. Может храниться в сериализованном виде. |
group |
int |
Идентификатор группы фильтров. Позволяет группировать условия фильтрации с помощью логических операторов AND и OR. |
exposed |
tinyint |
Флаг, указывающий, доступен ли фильтр для пользователей в виде элемента формы (1 - да, 0 - нет).
|
is_grouped |
tinyint |
Флаг, указывающий, сгруппированы ли значения фильтра (1 - да, 0 - нет).
|
weight |
int |
Вес фильтра, определяющий порядок применения фильтров в рамках одной группы. |
Как это работает
При создании или редактировании представления в Drupal администратор добавляет фильтры через пользовательский интерфейс. Каждый добавленный фильтр создает запись в таблице views_view_filter, которая связывается с представлением через поле vid.
Когда представление выполняется, система Views читает конфигурацию фильтров из этой таблицы и строит соответствующие условия для SQL-запроса. Фильтры применяются в порядке их веса (weight) внутри своих групп (group).
Если фильтр помечен как "exposed" (exposed = 1), он отображается пользователям в виде элемента формы (select, checkbox, textfield), позволяя им самостоятельно фильтровать результаты представления.
Значения фильтров (поле value) часто хранятся в сериализованном виде, особенно когда фильтр использует сложные условия или множественные значения.
Пример SQL-запроса
Получить все фильтры для конкретного представления можно следующим запросом:
SELECT vf.*, vv.name as view_name
FROM views_view_filter vf
JOIN views_view vv ON vf.vid = vv.vid
WHERE vv.name = 'my_custom_view'
ORDER BY vf.group, vf.weight;
Смотрите также
-
таблицу
views_view,
которая хранит основные настройки представлений -
таблицу
views_display,
которая содержит настройки отображений представлений -
таблицу
views_argument,
которая хранит конфигурацию контекстных фильтров -
таблицу
views_sort,
которая содержит настройки сортировки для представлений