2017-09-01 37 views
1

我想引用不同的模式(如这里discribed:https://loopback.io/doc/en/lb2/Embedded-models-and-relations.html),但由嵌套 ID:回环referencesMany嵌套的外键

{ 
"name" : "person", 
... 
    "relations": { 
    "cars": { 
     "type": "referencesMany", 
     "model": "car", 
     "foreignKey": "cars.id" 
    } 
} 

人JSON实际上是这样的:

{ 
    ... 
    cars: [{"id": 1, "name": "car1"}, ...] 
} 

和车模将是全车详细信息

我是否必须编写自己的远程方法来做到这一点?

回答

0

Yosh DaafVader,

我来到翻过这一问题也并花时间找到一个解决方案^^但实际上你就必须与你的目标关系属性内的参数选项玩。 documentation指出应如何定义关系(确保loopback cli不包含在版本3.x中,但是使用嵌入和引用的方式)。

在你的人的模型,你必须改变FOREIGNKEY,并添加以下选项能够只用ID来引用汽车。

{ 
"name" : "person", 
... 
    "relations": { 
    "cars": { 
     "type": "referencesMany", 
     "model": "car", 
     "foreignKey": "", 
     "options": { 
     "validate": true, 
     "forceId": true 
     } 
    } 
} 

现在,您将能够在资源管理器中看到新的路线,以添加,移除并查看属于目标人的汽车。

[编辑]

  1. FOREIGNKEY应是空的,为了能够在汽车的名单正确添加项目,或者你可以测试并提供有关它的一些反馈
  2. 验证选项确保在您的数据库中存在ID
  3. forceId选项将确保只接受ID作为一个参数

[/编辑]

希望这将有助于:)

干杯