Loopback - EmbedsOne关系产生错误

时间:2016-03-13 11:16:33

标签: javascript node.js loopbackjs

我有两个模型

  

护士

     

房间属于与下面定义的护士模型的关系:

$array[0]="1";
$array[1]="2";
$array[2]="3";
$array[3]="4";
$array[4]="5";

echo implode('-', $array) . '<br />';
array_push($array, array_shift($array));
echo implode('-', $array) . '<br />';
array_push($array, array_shift($array));
echo implode('-', $array) . '<br />';
array_push($array, array_shift($array));
echo implode('-', $array) . '<br />';

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

  

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

     

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

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

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

并尝试访问

的网址
  

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

我收到以下错误:

  

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

想法?

1 个答案:

答案 0 :(得分:1)

embedsOne关系没有foreignKey。你应该使用&#34; property&#34;如文档中所示:(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'
  }
}