НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
142 of 182 menu

Таблица webform_submission

Таблица webform_submission является центральной таблицей модуля Webform в Drupal. Она хранит метаданные каждой отправки формы, такую как идентификатор, связанную форму, пользователя, язык, IP-адрес и временные метки. Сами данные полей формы хранятся в связанных таблицах, таких как webform_submission_data.

Поля

Поле Тип данных Описание
sid serial Уникальный идентификатор отправки (Submission ID). Первичный ключ таблицы.
webform_id varchar(32) Идентификатор веб-формы, к которой относится эта отправка. Ссылается на конфигурационный объект формы.
entity_type varchar(32) Тип сущности, к которой привязана форма (например, node, user). Может быть NULL, если форма не привязана к конкретной сущности.
entity_id int Идентификатор сущности, к которой привязана форма. Работает в паре с entity_type. Может быть NULL.
langcode varchar(12) Язык, на котором была отправлена форма.
current_page varchar(128) Текущая страница многостраничной формы. Используется для сохранения прогресса и возврата к незавершенной отправке.
remote_addr varchar(128) IP-адрес пользователя, отправившего форму.
uid int Идентификатор пользователя (User ID), отправившего форму. Если форма отправлена анонимным пользователем, значение равно 0. Внешний ключ для таблицы users.
completed int Временная метка Unix времени завершения отправки формы. Значение 0 означает, что отправка является черновиком и не завершена.
changed int Временная метка Unix времени последнего изменения отправки.
in_draft tinyint Флаг, указывающий, является ли отправка черновиком (1) или завершенной отправкой (0).
locked tinyint Флаг, указывающий, заблокирована ли отправка (1) для изменения. Используется для отметки отправок, которые обрабатываются или архивируются.
sticky tinyint Флаг, указывающий, является ли отправка "прикрепленной" (1). Прикрепленные отправки могут быть выделены в интерфейсе администратора.
notes longtext Заметки администратора, связанные с данной отправкой.
token varchar(255) Уникальный токен, который может использоваться для предоставления доступа к отправке без аутентификации (например, в ссылках для подтверждения).
uri varchar(2000) URI страницы, с которой была отправлена форма.

Как это работает

Когда пользователь отправляет веб-форму на сайте Drupal, создается запись в таблице webform_submission. Эта запись содержит всю служебную информацию о факте отправки, но не сами данные полей.

Поля entity_type и entity_id позволяют привязать отправку формы к конкретной сущности Drupal. Например, если форма прикреплена к определённому материалу (ноде), эти поля будут содержать node и ID этого материала соответственно.

Флаг in_draft позволяет модулю Webform поддерживать функциональность черновиков. Пользователь может начать заполнять форму, сохранить её как черновик и вернуться к завершению позже.

Фактические данные, введенные пользователем в поля формы, хранятся в отдельной таблице webform_submission_data, где каждая строка представляет собой значение одного поля для одной отправки. Связь между таблицами осуществляется через поле sid.

Временные метки completed и changed позволяют отслеживать историю отправки и используются для фильтрации и сортировки результатов в интерфейсе администратора.

Пример SQL-запроса

Получить 10 последних завершенных отправок для конкретной формы можно следующим запросом:

SELECT s.sid, s.uid, u.name as username, s.completed, s.changed FROM webform_submission s LEFT JOIN users u ON s.uid = u.uid WHERE s.webform_id = 'contact' AND s.in_draft = 0 ORDER BY s.completed DESC LIMIT 10;

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

  • таблицу webform_submission_data,
    которая хранит данные полей отправленных форм
  • таблицу webform,
    которая хранит конфигурацию веб-форм
  • таблицу users,
    которая хранит данные пользователей сайта
  • таблицу node,
    которая хранит материалы сайта
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить