OctoberCMS: Как предотвратить сохранение формы в базе данных?

У меня есть файл определения полей формы, как показано ниже:

fields:
pivot[hall]:
label: Hall
type: text
span: auto

pivot[booth]:
label: Booth
type: text
span: auto

booth_picker:
label: Select Booth
type: boothpicker
span: full

Третье поле — это только виджет формы, который предоставляет удобный способ визуальной установки значения booth поле. Поэтому мне не нужны booth_picker поле, которое будет отправлено и сохранено в базе данных, потому что в таблице такого поля нет. Только hall а также booth должны быть представлены и сохранены. В настоящее время я получаю эту ошибку:

SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец ‘booth_picker’
в «списке полей» (SQL: обновление users задавать updated_at = 2016-12-15
13:14:44, booth_picker = где id = 37)

Как я могу предотвратить отправку этого вспомогательного поля? Или, может быть, есть способ удалить это поле до того, как модель будет сохранена в базе данных?

2

Решение

попробуйте добавить подчеркивание перед именем поля (новая функция October Cms, поэтому, возможно, вам нужно обновить ее до версии 382)

как это _booth_picker

редактировать : Я не уверен, но, кажется, эта функция не работает с полем флажок 🙁

4

Другие решения

Мы можем определить имена полей внутри purgeable имущество.

Удаленные атрибуты не будут сохранены в базе данных при создании или обновлении модели. Чтобы очистить атрибуты в вашей модели, примените признак October \ Rain \ Database \ Traits \ Purgeable и объявите свойство $ purgeable с массивом, содержащим атрибуты для очистки.

    /**
* @var array List of attributes to purge.
*/

protected $purgeable = ['booth_picker'];

Ссылка

1

По вопросам рекламы [email protected]