我想在书架上使用加入。
我收到以下错误:“对于以下设置,“必须为equipment_component hasMany关系定义一个有效的目标模型”
component.js
'use strict';
const Base = require('./base');
const Equipment_Component = require('./equipment_component').model;
function Component(bookshelf) {
return Base(bookshelf, {
tableName: 'component',
equipment_component: function(){
return this.belongsTo(Equipment_Component, 'component_id');
}
})
}
module.exports = Component;
equipment_component.js
'use strict';
const Base = require('./base');
const Component = require('./component');
function Equipment_Component(bookshelf) {
return Base(bookshelf, {
tableName: 'equipment_component',
component: function(){
return this.hasMany(Component);
}
})
}
module.exports = Equipment_Component;
查询看起来像:
await equipment_component.where({'equipment_id': '7'})
.fetch({withRelated: ['component']})
.then(function(result){
console.log(test.toJSON());
})
这里需要一些见识。
在equipment_component.js
中,您正在直接导出模型,但是在component.js
中,您正在尝试使用.model
访问它,但是没有名为.model
的属性被导出。
更改:
const Equipment_Component = require('./equipment_component').model;
收件人:
const Equipment_Component = require('./equipment_component');