gpt4 book ai didi

mysql - 如何使用 mysql 在 sails 中定义外键关系

转载 作者:可可西里 更新时间:2023-11-01 07:35:03 26 4
gpt4 key购买 nike

我真的是 sails 的新手,所有与 ORM 相关的文档都是最基本的,所以我很难理解如何在我的模型中建立关系。这是我的表格和模型:http://pastebin.com/yt8jFTkk

现在,我要做的是:

AccountApplication.findOne({
token: 'someTokenHere',
application.type: 'foo',
application.serviceProvider: 'bar'
}).populate('application')
.populate('account').exec(...)...

我会解决这个问题并手动检查预期的应用程序类型和服务提供商,因为 token 重叠似乎不太可能并使用 find() 而不是 findOne():

AccountApplication.findOne({
token: 'someTokenHere'
}).populate('application')
.populate('account').exec(...)...

我想我对 sails/waterline 是如何知道我的 AccountApplication 模型上的 account_id 是帐户属性的外键有点不知所措。我在这里错过了什么?目前,帐户或应用程序上的 populate() 没有使用上述模型执行任何操作。

最佳答案

问题是您有重复的 accountaccountId 属性,这意味着同一件事。你想要的是 account: { model: 'account', columnName: 'account_id', type: 'integer', required: true} 并去掉 accountId 属性.

重要的是,对于存储底层数据的关联,您只有一个属性;您不需要另外指定外键列。显然有一个错误,在关联上指定 columnName 会破坏关联,但似乎已解决 https://github.com/balderdashy/waterline/issues/362 .

关于mysql - 如何使用 mysql 在 sails 中定义外键关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26071272/

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