gpt4 book ai didi

javascript - 忽略 SailsJS 中 1 个特定模型的默认模型属性

转载 作者:行者123 更新时间:2023-12-03 06:44:29 25 4
gpt4 key购买 nike

大家好,我一直坚持使用 mysql 数据库的特定表的模型。我在 SailsJS 应用程序中使用 2 个不同的数据库。这两个数据库之一是在 SailsJS 应用程序之前创建的,因此该数据库中的表没有在 config/models.js 中配置的默认属性。例如,当我尝试在使用旧数据库的模型上调用 find() 函数时,这会导致错误,因为它缺少一列。请参阅以下错误:

: ER_BAD_FIELD_ERROR: Unknown column 'tbl_user.deleted' in 'field list'

我不想将默认属性添加到旧数据库列,那么是否可以忽略 config/models.js 中针对特定模型配置的默认属性?

最佳答案

在尝试了一些事情之后,我想出了以下解决方案。只需将默认属性添加到您的模型中,但将其添加为函数。

module.exports = {
connection: connection,
migrate: 'safe',
tableName: 'tbl_name',
autoCreatedAt: false,
autoUpdatedAt: false,
autoPK: false,
schema: true,

attributes: {
id: {
columnName: 'id',
type: 'string',
primaryKey: true
},
name: {
columnName: 'name',
type: 'string'
},
email: {
columnName: 'email',
type: 'string'
},
deleted: function(){
var obj = this.toObject();
delete obj.deleted;
return obj;

},

createdBy: function(){
var obj = this.toObject();
delete obj.createdBy;
return obj;

}
}
};

在此示例中,deleted 和createdBy 属性是config/models.js 中的默认属性。我在特定模型中制作了这些属性的函数。在此函数中,我删除此属性并返回没有删除属性的对象。

关于javascript - 忽略 SailsJS 中 1 个特定模型的默认模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37807449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com