如何解决环回 4 @hasOne 关系
我有一个关于 Loopback 4 和 @hasOne 关系的问题。我已阅读文档,但没有找到。
用户模型:
@model({ settings: {} })
export class User extends Entity {
@property({
type: 'string',id: true,required: true,})
id: string;
@hasOne(() => Settings)
settings: Settings;
constructor(data?: Partial<UserSettings>) {
super(data);
}
}
模型设置
@model({ settings: {} })
export class Settings extends Entity {
@property({
type: 'string',})
id: string;
@property({
type: 'string',})
userId: string;
constructor(data?: Partial<UserSettings>) {
super(data);
}
}
问题:为了使@hasOne 关系起作用,我必须添加字段:userId(另一个类的名称,以小写字母结尾,id 结尾)。有没有办法使用以另一种方式调用的字段?我怎样才能表明该关系与字段 id 相关?为什么我必须使用 yes 或 yes 一个名为 nameoftheothermodel + Id 的字段?
提前致谢
最佳
解决方法
LoopBack 4 关系装饰器接受关系元数据的附加参数:
用户模型
@model({ settings: {} })
export class User extends Entity {
@property({
type: 'string',id: true,required: true,})
id: string;
@hasOne(() => Settings,{
keyTo: 'myCustomForeignKey' // Add this
})
settings: Settings;
constructor(data?: Partial<UserSettings>) {
super(data);
}
}
设置模型
@model({ settings: {} })
export class Settings extends Entity {
@property({
type: 'string',})
id: string;
@property({
type: 'string',})
myCustomForeignKey: string; // Custom 'foreign key'
constructor(data?: Partial<UserSettings>) {
super(data);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。