Node.js Bookshelf js fetchAll withRelated选项返回空的关系对象

Node.js Bookshelf js fetchAll withRelated选项返回空的关系对象,node.js,bookshelf.js,knex.js,Node.js,Bookshelf.js,Knex.js,当I.fetchAll({withRelated:'backfire'})时我在输出中得到一个名为逆火的属性,其值为{}。在knex调试模式下,我清楚地看到选择“backfire”。*从“backfire”中选择“backfire”,在(?)中选择“id”在复制/粘贴到sqlite3控制台时(当然,在输入有效ID后)起作用。所以我知道我的模型一定是正确的 Knex迁移 Models.js } 我的用法 查看文档时,似乎model.fetchAll的“withRelated”字段与model.fe

当I
.fetchAll({withRelated:'backfire'})时我在输出中得到一个名为逆火的属性,其值为{}。在knex调试模式下,我清楚地看到
选择“backfire”。*从“backfire”中选择“backfire”,在(?)中选择“id”在复制/粘贴到sqlite3控制台时(当然,在输入有效ID后)起作用。所以我知道我的模型一定是正确的

Knex迁移 Models.js }

我的用法
查看文档时,似乎model.fetchAll的“withRelated”字段与model.fetch的选项不同。我自己也遇到了这个问题。如果使用debug:true运行knex,您可以看到它将只查询正在获取的表,而不是关系


我自己对Bookshelf.js还不熟悉,但我认为,这可以通过使用
集合来实现


您正在使用哪个底层数据库?我在SQLite3上试过你的代码,没有问题:()SQLite3可能我还有另一个问题。谢谢你的关注,我会在本周挖掘更多信息,并向你汇报。Victoria Oberra有什么好运气吗?我没有,但我可能需要一段时间才能再做这件事。有没有办法“结束”这个问题?我想这是书架的一个相当大的问题。我想获取一个事件列表,每个事件都有邀请列表。我不确定如果没有此功能,人们将如何解决此问题:
exports.up = function(knex, Promise) {
  return knex.schema.createTable("backfire", function(table) {
    table.increments("id").primary();
    table.string("response").notNullable();
    table.string("created_by").notNullable();
    table.timestamps();
}).then(function(){
        return knex.schema.createTable("backfireTrigger", function(table) {
            table.increments("id").primary();
            table.string("trigger").notNullable();
            table.integer("backfire_id").unsigned().notNullable().references("id").inTable("backfire");
            table.string("created_by").notNullable();
            table.timestamps();
        });
    });
};
module.exports = function(bookshelf) {

var Backfire = bookshelf.Model.extend({
    tableName: 'backfire',
    backfireTriggers: function() {
      return this.hasMany(BackfireTrigger);
    }
});

var BackfireTrigger = bookshelf.Model.extend({
    tableName: 'backfireTrigger',
    backfire: function() {
      return this.belongsTo(Backfire);
    }
});

return {
  Backfire: Backfire,
  BackfireTrigger: BackfireTrigger
};
function getAllTriggers() {
    var self = this;
    return new self.models.BackfireTrigger()
    .fetchAll({
        withRelated: ['backfire']
    });
}
var BackfireTriggers = bookshelf.Collection.extend({
    model: BackfireTrigger
});

BackfireTriggers.forge().fetch({ withRelated: 'backfire' }).then(…);