Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Html 如何从对象的外键获取对象的值?_Html_Angularjs_Json_Backand - Fatal编程技术网

Html 如何从对象的外键获取对象的值?

Html 如何从对象的外键获取对象的值?,html,angularjs,json,backand,Html,Angularjs,Json,Backand,我使用Backand来存储我的数据。我有一个对象Events,它引用另一个对象Locations { "name": "events", "fields": { "eventCommentsId": { "collection": "comments", "via": "eventId" }, "tags": { "collection": "events_tags", "vi

我使用Backand来存储我的数据。我有一个对象Events,它引用另一个对象Locations

  {
    "name": "events",
    "fields": {
      "eventCommentsId": {
        "collection": "comments",
        "via": "eventId"
      },
      "tags": {
        "collection": "events_tags",
        "via": "event"
      },
      "users": {
        "collection": "users_events",
        "via": "event"
      },
      "name": {
        "type": "string"
      },
      "date": {
        "type": "datetime"
      },
      "time": {
        "type": "datetime"
      },
      "info": {
        "type": "text"
      },
      "locationId": {
        "object": "locations"
      }
    },
  {
    "name": "locations",
    "fields": {
      "events": {
        "collection": "events",
        "via": "locationId"
      },
      "name": {
        "type": "text"
      },
      "geo": {
        "type": "point"
      }
    }
  }
当我试图显示事件的位置时,我只能获得locationID的值。我要的是位置的实际名称,而不是id。我该怎么做

<ion-list>
  <ion-item class="item item-thumbnail-left" ng-repeat="event in events" type="item-text-wrap" href="#/event-detail/{{event.id}}">
      <h2>{{event.name}}</h2>
      <p><i class="ion-location"></i> {{event.locationId.name}}</p>
    <ion-option-button class="button-assertive" ng-click="deleteEvent(event.id)">
      Delete
    </ion-option-button>
  </ion-item>
</ion-list>

有两种选择。您可以使用每个对象的_元数据中的描述性值,如下所示: 请求:

答复:

{
  "totalRows": 2,
  "data": [
    {
      "__metadata": {
        "id": "1",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 1,
      "name": "knicks vs warriors",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    },
    {
      "__metadata": {
        "id": "2",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 2,
      "name": "knicks vs cavs",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    }
  ]
}
{
  "totalRows": 2,
  "data": [
    {
      "__metadata": {
        "id": "1",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 1,
      "name": "knicks vs warriors",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    },
    {
      "__metadata": {
        "id": "2",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 2,
      "name": "knicks vs cavs",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    }
  ],
  "relatedObjects": {
    "locations": {
      "1": {
        "__metadata": {
          "id": "1",
          "fields": {
            "id": {
              "type": "int",
              "unique": true
            },
            "events": {
              "collection": "events",
              "via": "locationId"
            },
            "name": {
              "type": "text"
            },
            "geo": {
              "type": "point"
            }
          },
          "descriptives": {},
          "dates": {}
        },
        "id": 1,
        "events": null,
        "name": "Madison Square Garden",
        "geo": [
          40.7505,
          73.9934
        ]
      }
    }
  }
}
或者,您可以执行一个深度请求并获取relatedObjects中的值 请求:

答复:

{
  "totalRows": 2,
  "data": [
    {
      "__metadata": {
        "id": "1",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 1,
      "name": "knicks vs warriors",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    },
    {
      "__metadata": {
        "id": "2",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 2,
      "name": "knicks vs cavs",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    }
  ]
}
{
  "totalRows": 2,
  "data": [
    {
      "__metadata": {
        "id": "1",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 1,
      "name": "knicks vs warriors",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    },
    {
      "__metadata": {
        "id": "2",
        "fields": {
          "id": {
            "type": "int",
            "unique": true
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "datetime"
          },
          "time": {
            "type": "datetime"
          },
          "info": {
            "type": "text"
          },
          "locationId": {
            "object": "locations"
          }
        },
        "descriptives": {
          "locationId": {
            "label": "Madison Square Garden",
            "value": "1"
          }
        },
        "dates": {
          "date": "",
          "time": ""
        }
      },
      "id": 2,
      "name": "knicks vs cavs",
      "date": null,
      "time": null,
      "info": "",
      "locationId": "1"
    }
  ],
  "relatedObjects": {
    "locations": {
      "1": {
        "__metadata": {
          "id": "1",
          "fields": {
            "id": {
              "type": "int",
              "unique": true
            },
            "events": {
              "collection": "events",
              "via": "locationId"
            },
            "name": {
              "type": "text"
            },
            "geo": {
              "type": "point"
            }
          },
          "descriptives": {},
          "dates": {}
        },
        "id": 1,
        "events": null,
        "name": "Madison Square Garden",
        "geo": [
          40.7505,
          73.9934
        ]
      }
    }
  }
}
搜索麦迪逊广场花园作为位置名称,以了解JSON结构。
您可以在对象设置中设置描述性字段

如何获取描述值?以及相关对象值?