gpt4 book ai didi

foreign-keys - 水线关联,更改外键?

转载 作者:行者123 更新时间:2023-12-04 11:38:17 25 4
gpt4 key购买 nike

最新的水线现在支持协会。这是一对多的例子

// A user may have many pets
var User = Waterline.Collection.extend({

identity: 'user',
connection: 'local-postgresql',

attributes: {
firstName: 'string',
lastName: 'string',

// Add a reference to Pets
pets: {
collection: 'pet',
via: 'owner'
}
}
});

var Pet = Waterline.Collection.extend({

identity: 'pet',
connection: 'local-postgresql',

attributes: {
breed: 'string',
type: 'string',
name: 'string',

// Add a reference to User
owner: {
model: 'user'
}
}
});

这将创建一个名为 owner 的字段关于宠物收藏。除了使用现有数据库之外,这很好。调用它的外键 owner_id .

无论如何要覆盖数据库中使用的字段名称?

最佳答案

您可以通过设置 columnName 来更改用于任何模型属性的列名称。属性(property):

  attributes: {
breed: 'string',
type: 'string',
name: 'string',

// Add a reference to User
owner: {
columnName: 'owner_id',
model: 'user'
}
}

另请注意,在 Sails 中定义模型时,不应直接从 Waterline 扩展,而只需将模型文件保存在 /api/models 中。使用适当的名称,例如 User.js :
module.exports = {

attributes: {
breed: 'string',
type: 'string',
name: 'string',

// Add a reference to User
owner: {
model: 'user',
columnName: 'owner_id'
}
}
}

并让 Sails/Waterline 为您处理身份和连接,除非您真的想覆盖默认值。

关于foreign-keys - 水线关联,更改外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22845206/

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