gpt4 book ai didi

javascript - Node.js/Bookshelf - 表中的多个列引用另一个表的 ID 的映射模型

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

我使用带有 bookshelf 的 Node.js 作为 ORM。我是这项技术的新手。

我遇到的情况是数据库表中有几列。为了解决这个问题,这些列应命名为“sold_by_id”、“signed_off_by_id”和“lead_developer_id”,并且都是将引用带有 ID 的用户表的列。

换句话说,系统中的不同用户在任何时候都将与三个不同的 Angular 色相关联,但不一定是唯一的。

展望 future ,我需要能够通过以下方式检索信息:

let soldByLastName = JobTicket.soldBy.get('last_name');

我尝试四处搜索并阅读文档,但我仍然非常不确定如何实现这一目标。显然下面的代码不起作用,我知道第二个参数是针对目标表的,但它说明了我想要实现的概念。

// JobTicket.js
soldBy: function() {
return this.belongsTo(User, 'sold_by_id');
},

signedOffBy: function() {
return this.belongsTo(User, 'signed_off_by_id');
},

leadDeveloper: function() {
return this.belongsTo(User, 'lead_developer_id');
}

显然我需要在User.js中提供一组相应的方法

我不知道从哪里开始,有人能指出我正确的方向吗?

或者我只是个白痴? ^_^

最佳答案

你的定义看起来是正确的。为了使用它们,它会是这样的:

new JobTicket({ id: 33 })
.fetch({ withRelated: [ 'soldBy', 'signedOffBy' ] })
.then(jobTicket => {
console.log(jobTicket.related('soldBy').get('last_name');
});

此外,我建议您使用 Registry 插件来引用其他模型。这减轻了引用尚未加载的模型的痛苦。

关于javascript - Node.js/Bookshelf - 表中的多个列引用另一个表的 ID 的映射模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43804097/

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