Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 环回4@hasOne关系_Node.js_Strongloop_Loopback4 - Fatal编程技术网

Node.js 环回4@hasOne关系

Node.js 环回4@hasOne关系,node.js,strongloop,loopback4,Node.js,Strongloop,Loopback4,我有一个关于环回4和@hasOne关系的问题。我读过文档,但没有找到 用户模型: @model({ settings: {} }) export class User extends Entity { @property({ type: 'string', id: true, required: true, }) id: string; @hasOne(() => Settings) settings: Settings; const

我有一个关于环回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:{}})
导出类用户扩展实体{
@财产({
键入:“字符串”,
id:是的,
要求:正确,
})
id:字符串;
@hasOne(()=>设置)
设置:设置;
构造函数(数据?:部分){
超级(数据);
}
}
模型设置

@model({ settings: {} })
export class Settings extends Entity {
  @property({
    type: 'string',
    id: true,
    required: true,
  })
  id: string;


 @property({
  type: 'string',
 })
 userId: string;
    
 constructor(data?: Partial<UserSettings>) {
  super(data);
 }
@model({settings:{}})
导出类设置扩展实体{
@财产({
键入:“字符串”,
id:是的,
要求:正确,
})
id:字符串;
@财产({
键入:“字符串”,
})
userId:string;
构造函数(数据?:部分){
超级(数据);
}
}

问题:为了使@hasOne关系起作用,我必须添加字段:userId(另一个类的名称,小写,末尾是id)。有没有一种方法可以使用以另一种方式调用的字段?我如何指示与字段id的关系?为什么我必须使用“是”或“是”一个名为NameOfThermodel+Id的字段

提前谢谢


Best

环回4关系装饰器接受关系元数据的附加参数:

用户模型

@model({settings:{}})
导出类用户扩展实体{
@财产({
键入:“字符串”,
id:是的,
要求:正确,
})
id:字符串;
@有一个(()=>设置{
keyTo:'myCustomForeignKey'//添加此
})
设置:设置;
构造函数(数据?:部分){
超级(数据);
}
}
设置模式

@model({settings:{}})
导出类设置扩展实体{
@财产({
键入:“字符串”,
id:是的,
要求:正确,
})
id:字符串;
@财产({
键入:“字符串”,
})
myCustomForeignKey:string;//自定义“外键”
构造函数(数据?:部分){
超级(数据);
}
}