试图完成书架的最简单示例,但无法在fetch语句中使用“withRelated”过去一对多关系。这里是我的代码(有一些东西隐私删除)代表一个一对多从B到ABookshelf JS:“this.hasOne”不是函数
"use strict";
var knex = require('knex') ({
client: 'mysql',
connection: {
host: '127.0.0.1',
user: '*******',
password: '*******',
database: '*******',
charset: 'utf8'
}
});
var bookshelf = require('bookshelf')(knex);
var A, B
A = bookshelf.Model.extend({
tableName: 'A',
propB:() => {
return this.hasOne(B, 'A_id')
}
B = bookshelf.Model.extend({
tableName: 'B',
propA:() => { return this.belongsTo(A, 'A_id') }
})
A.forge().fetch({withRelated: ['propB']}).then(function(x){console.log(x)})
然而,运行此我得到“未处理的拒绝类型错误:this.hasOne不是一个函数” ,引用this.hasOne在A中。如果我删除“withRelated”子句,它就像预期的那样运行并返回数据库中正确的条目。
为什么我收到此错误?更多信息: 的NodeJS:v4.4.1 书架:v0.9.4
非常感谢! – nobillygreen
我有同样的问题,并使用ES5函数(){}修复它。 – fraxture