【问题标题】:How to remove `created_at`, `updated_at` from insert query (when create a model record)?如何从插入查询中删除`created_at`、`updated_at`(创建模型记录时)?
【发布时间】:2019-02-03 11:53:55
【问题描述】:

有一个包含两个字段(fake_uidauth_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 - 它将从查询中删除。嗯??

【问题讨论】:

    标签: octobercms octobercms-backend


    【解决方案1】:

    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 文件并删除/更改该字段的名称。

    【讨论】:

    • 天哪,我什至不知道这些东西是这样称呼的。非常感谢!
    猜你喜欢
    • 2016-06-13
    • 1970-01-01
    • 2020-10-23
    • 2013-01-30
    • 2018-04-24
    • 2022-01-04
    • 1970-01-01
    • 2020-03-28
    • 2020-04-08
    相关资源
    最近更新 更多