Как вы запрашиваете данные ссылки/поиска и правильное отношение к построению между моделями для их поддержки?Параметры запроса/поиска в LoopBack
Пример:
Адрес модель имеет поле, представляющее город адрес находится. В городской модели есть предварительно заполненный список городов. Я хочу построить петлевое отношение между двумя моделями, так что я могу ссылаться на город при добавлении нового адреса и при запросе адреса вернуть город как часть адреса.
В реляционном db вы можете иметь внешний ключ, который позволяет говорить CityId, который заполняется ссылкой на город. Затем вы можете запросить таблицу адресов и включить соединение с таблицей города, чтобы вернуть город, связанный с адресом.
В шлейфе У меня есть следующие модели (вырублены для примера):
Адреса Модель
{
"name": "Address",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"addressLineOne": {
"type": "string",
"required": true
},
},
"validations": [],
"relations": {
"city": {
"type": "hasOne",
"model": "city",
"foreignKey": "cityId"
}
},
"acls": [],
"methods": {}
}
City Model
{
"name": "City",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"cityName": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
Спасибо Mantas. Вы знаете, как я могу запросить сгенерированный интерфейс отдыха, чтобы вернуть город как часть адреса? Что-то вроде/api/Addresses? Filter [include] = city - это то, что я ожидал от работы. – Boden
Он должен работать таким образом. Если нет, то вы можете попробовать добавить json: /api/Addresses? Filter = {"include": ["relationName"]} P.S. «отношениеName» должно быть именем отношения, не связанным с именем модели, поскольку некоторые люди смешивают их. – Mantas