octobercms - 如何从插入查询中删除`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_at
和created_at
列。如何从查询中删除它们?以及如何更改fake_uid
为某些列的名称?因为确实没有这样的列(如错误所说)。
我试图将 $purgable 变量添加到我的模型中:
use \October\Rain\Database\Traits\Purgeable;
protected $purgeable = ['created_at', 'updated_at'];
不工作。但是,例如,如果我添加fake_uid
- 它将从查询中删除。嗯??
解决方案
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 文件并删除/更改该字段的名称。
推荐阅读
- openstreetmap - Openstreetmap 的使用政策限制
- angular - Bootstrap 日期时间选择器不适用于 Angular 6 或 7
- ios - 如何在 iOS Swift 中设置 AVAudioUnitEQ 均衡器预设 10 个频段的增益值
- sql - 如何在 PostgreSQL 中两次显示今天的日期
- linq - 在多个条件下加入 LINQ to SQL
- sql - Oracle plsql 将来自同一列的 2 个值存储在 2 个不同的变量中
- macos - 错误:音频转换失败:未知编码器“libmp3lame”
- javascript - 如何将 Ext.js 选项卡面板呈现为 html div 元素
- c# - Bulkinsert 无法访问目标表 [].[table]
- c# - 将具有多个启动项目的解决方案从 .NET Framework 4.7.1 移植到 .NET Core 2.1