gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:50 24 4
gpt4 key购买 nike

我目前遇到一个问题,我想向书架模型指定使用哪个字段来建立数据关系。

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

例如:

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

它必须与列 id 上的 customerWithStop 匹配,但必须使用“stops”中的列 customer_id 来建立此关系;有什么办法可以指定这个吗?

最佳答案

除了 tableName Bookshelf.js 还提供了 idAttribute 属性。这将允许您覆盖 Bookshelf.js 的 id 默认值。

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

示例:

var Language = bookshelf.Model.extend({
tableName: 'languages',
idAttribute: 'languageid'
});
var Post = bookshelf.Model.extend({
tableName: 'posts',
idAttribute: 'postid',
Language: function() {
return this.belongsTo(Language,'languageid');
}
});

关于node.js - 是否可以在 Bookshelf.js 中指定用于数据关系的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35791132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com