【问题标题】:Loopback - EmbedsOne relation producing errorLoopback - EmbedsOne 关系产生错误
【发布时间】:2016-10-14 23:32:18
【问题描述】:

我有以下两个模型

护士

房间

一个房间与下面定义的护士模型有 belongsTo 关系:

"relations": {
        "nurse": {
            "model": "Nurse",
            "type": "belongsTo",
            "foreignKey": "nid"
        }
    }

工作正常并在以下网址上生成数据

http://localhost:3000/api/Rooms/1

http://localhost:3000/api/Rooms/1/nurse

但是当我尝试如下定义的 embedsOne 关系时:

"relations": {
        "nurse": {
            "model": "Nurse",
            "type": "embedsOne",
            "foreignKey": "nid"
        }
    }

并尝试在

访问 url

http://localhost:3000/api/Rooms/1

我收到以下错误:

消息:“ER_BAD_FIELD_ERROR:‘字段列表’中的未知列‘_nurse’”,

想法?

【问题讨论】:

  • 您能发布您的nurse.json 和room.json 文件吗?我无法使用给定的信息重现这一点。
  • 我建议运行您的应用设置 DEBUG='loopback:relation' 标志以获取有关该问题的更多信息。
  • fork the loopback-sandbox 并在其中重现问题以便有人查看也是一个好主意。

标签: javascript node.js loopbackjs


【解决方案1】:

embedsOne 关系没有外键。您应该使用文档中所示的“属性”:(https://docs.strongloop.com/display/public/LB/Embedded+models+and+relations#Embeddedmodelsandrelations-EmbedsOne)

"relations": {
  "address": {
    "type": "embedsOne",
    "model": "Address",
    "property": "billingAddress"
  }
}

那么你的对象会是这样的

 {
  id: 1,
  name: 'John Smith',
  billingAddress: {
    street: '123 Main St',
    city: 'San Jose',
    state: 'CA',
    zipCode: '95124'
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多