首页 > 解决方案 > 如何从插入查询中删除`created_at`、`updated_at`(创建模型记录时)?

问题描述

有一个带有两个字段 ( fake_uid, auth_key) 的表单的后端页面。当我创建新记录时,会发生错误并告知以下内容:

Column not found: 1054 Unknown column 'fake_uid' in 'field list' (SQL: insert into 'fakes_list' ('fake_uid', 'auth_key', 'updated_at', 'created_at') values (45345, 345345, 2019-02-03 09:57:11, 2019-02-03 09:57:11))...

该表fakes_list没有updated_atcreated_at列。如何从查询中删除它们?以及如何更改fake_uid为某些列的名称?因为确实没有这样的列(如错误所说)。

我试图将 $purgable 变量添加到我的模型中:

use \October\Rain\Database\Traits\Purgeable;
protected $purgeable = ['created_at', 'updated_at'];

不工作。但是,例如,如果我添加fake_uid- 它将从查询中删除。嗯??

标签: octobercmsoctobercms-backend

解决方案


https://octobercms.com/docs/database/model#property-timestamps

默认情况下,模型将期望 created_at 和 updated_at 列存在于您的表中。如果您不希望自动管理这些列,请将模型上的 $timestamps 属性设置为 false:

class Post extends Model
{
    /**
     * Indicates if the model should be timestamped.
     *
     * @var bool
     */
    public $timestamps = false;
}

要删除 fake_uid 列,请编辑与您正在使用的后端表单关联的 fields.yaml 文件并删除/更改该字段的名称。


推荐阅读