是否可以在Bookshelf.js中指定用于数据关系的字段

时间:2016-03-04 08:19:27

标签: node.js bookshelf.js

我目前遇到一个问题,我想在书架模型中指定用于建立数据关系的字段。

它似乎总是使用模型表的id(主键);据我所知,它只能为关系设置列,而不能从模型中设置。

例如:

var StopsWithCustomer = bookshelf.Model.extend({
    tableName: 'stops',
    customers: function () {
        return this.hasOne(customerWithStop, 'id');
    }
});

它必须在customer id上匹配customerWithStop,但它必须使用'stops'中的customer_id列来建立这种关系;有没有办法指定这个?

1 个答案:

答案 0 :(得分:0)

String s = new String(characters).replaceAll("[ ]+", " "); for (int i = 0; i < characters.length; i++) { characters[i] = (i < s.length() ? s.charAt(i) : '\u0000'); } 之外,Bookshelf.js还提供tableName属性。这样您就可以覆盖Bookshelf.js'idAttribute默认值。

注意关系的第二个参数(如id)是外键,而不是目标的主键。

示例:

hasOne()