2

我有一个表单字段定义文件,如下所示:

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:更新usersupdated_at= 2016-12-15 13:14:44,booth_picker= where id= 37)“

我怎样才能防止这个帮助字段被提交?或者也许有一种方法可以在模型保存到数据库之前删除这个字段?

4

2 回答 2

4

尝试在您的字段名称前添加下划线(新的十月 Cms 功能,因此您可能需要将其升级到版本 382)

像那样_booth_picker

编辑:我不确定,但似乎此功能不适用于复选框字段:-(

于 2016-12-16T06:57:24.767 回答
2

我们可以在purgeable属性中定义字段名称。

创建或更新模型时,清除的属性不会保存到数据库中。要清除模型中的属性,请应用 October\Rain\Database\Traits\Purgeable 特征并声明一个 $purgeable 属性,其中包含要清除的属性的数组。

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

    protected $purgeable = ['booth_picker'];

参考

于 2018-11-19T06:54:09.590 回答