我正试图从filenames
表格中通过files
表格获取attachments
作为帖子。
附件表:
post_id, file_id
文件表:
id, filename
帖子表
attachments = 1,2,3
post表中的attachments列包含attachment_id列表。 我想获得这些1,2,3附件的每个文件名。
所以我建立了关系,
我的帖子模型:
require('./file');
require('./attachment');
...
attachments: function() {
return console.log(this.hasMany('File').through('Attachment'));
},
console.log显示:
{ type: 'hasMany',
target:
{ [Function]
extend: [Function],
include: [Function],
__super__: [Object],
forge: [Function],
collection: [Function] },
targetTableName: 'files',
targetIdAttribute: 'id',
foreignKey: undefined,
parentId: 1,
parentTableName: 'posts',
parentIdAttribute: 'id',
parentFk: 1,
throughTarget: 'Attachment',
throughTableName: undefined,
throughIdAttribute: undefined,
throughForeignKey: undefined,
otherKey: undefined },
第一个问题是,为什么不检测附件表名?我已经设置了它:
var Attachment = Bookshelf.Model.extend({
tableName: 'attachments'
});
module.exports = Bookshelf.model('Attachment', Attachment);
最后当我查询页面时,它只返回{}
为什么?只是一个初学者。
我也在所有模型文件上使用注册表
Bookshelf.plugin('registry');
答案 0 :(得分:0)
这是一个错误,已在0.6.6版本中修复。