目前我正在使用此模型(使用sails.js)
module.exports = {
tableName: 'player_deaths',
autoCreatedAt: false,
autoUpdatedAt: false,
attributes: {
player_id: {
required: true,
type: 'integer'
},
time: {
required: true,
type: 'integer'
},
level: {
required: true,
type: 'integer'
},
killed_by: {
required: true,
type: 'string'
},
is_player: {
required: true,
type: 'integer'
},
mostdamage_by: {
required: true,
type: 'string'
},
mostdamage_is_player: {
required: true,
type: 'integer'
},
unjustified: {
required: true,
type: 'integer'
},
mostdamage_unjustified: {
required: true,
type: 'integer'
}
},
autoPk: false,
}
我称之为
PlayersDeaths.find().sort('time desc').exec(function(err, data) {
if(err || data.length === 0) {
console.log(err,data)
req.flash('errors', 'No deaths found');
return res.redirect('/');
}
return res.view('community/deaths', { deaths: data});
});
我正在犯这个错误
字段列表中的未知列'playersdeath.id'
检查我的模型我甚至没有看到列出的ID属性...那么为什么要尝试访问它?!
(该表没有pk)
答案 0 :(得分:1)
看起来像是主键。如果您使用autoPk:false
,那么您需要定义自己的PK https://github.com/balderdashy/waterline-docs/blob/master/models.md#autopk
但是,您仍然可以使用model.native()
或model.query()
(取决于您的适配器)来避免这种情况
http://sailsjs.org/#!/documentation/reference/waterline/models/native.html http://sailsjs.org/#!/documentation/reference/waterline/models/query.html
答案 1 :(得分:-1)
如果您定义了数据库模式,可能需要设置这样的模型
module.exports = {
migrate: 'safe',
autoPK : false,
autoCreatedAt: false,
autoUpdatedAt: false,
attributes: {
// ------
}