Как реализовать вложенный запрос с помощью loopback-sdk-builder? - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть три модели loopback.js:

  • Клиент
  • Subcription
  • Категория

Эти модели связаны отношением типа «имеет много». Это означает, что в каждой подписке у меня есть Id, указывающий на модель клиента, и Id, указывающий на модель категории.

На клиенте sdk-builder генерирует метод с именем getSubscriptions: Определяется как:

public getSubscriptions(id: any, filter: LoopBackFilter = {}, customHeaders?: Function): Observable<any> {
  let _method: string = "GET";
  let _url: string = LoopBackConfig.getPath() + "/" + LoopBackConfig.getApiVersion() +
"/Clients/:id/subscriptions";
  let _routeParams: any = {
  id: id
};
  let _postBody: any = {};
  let _urlParams: any = {};
if (typeof filter !== 'undefined' && filter !== null) _urlParams.filter = filter;
let result = this.request(_method, _url, _routeParams, _urlParams, _postBody, null, customHeaders);
return result;

}

Когда я запускаю этот метод, у меня есть наблюдаемый со всем списком Подписки для этого Клиента.

Моя проблема в том, что в этом списке у меня есть идентификаторы категорий. Я хотел бы попросить модель категории получить имена категорий.

Вложенные запросы (Выполнение другого поиска в каждой строке, возвращаемой первой подпиской ()), здесь не вариант, так как это будет генерировать тонны HTTP-запросов.

Кто-нибудь знает, как это реализовать?

С уважением.

1 Ответ

0 голосов
/ 11 сентября 2018

Это было решено с помощью фильтра include, как показано в следующей строке кода:

  this.souscription.find({include: {relation: 'category'}})
...