Извлечение глубоко вложенных отношений с помощью withRelated () книжной полки - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть User, который может belongToMany Group, Group может belongToMany ReviewQueueStatus, который hasMany ReviewQueues, который в свою очередь belongsToMany SavedSearches.

Я пытаюсь получить глубоко вложенные отношения для пользователя, выполнив

  return app.models.User.forge({
    id: req.params.id
  })
     .fetch( { withRelated: ["groups.review_queue_statuses.review_queues.saved_searches"]})

В настоящее время это только один уровень глубины.(то есть: я могу получить все группы, к которым принадлежит пользователь и вложенные в каждую группу, это список всех ReviewQueueStatus).Объект ReviewQueueStatus имеет свойство ReviewQueues, но это пустой список.Однако при просмотре записей в строках БД этого не должно быть.

Прежде чем публиковать весь код и связанные с ним модели БД, можно ли так глубоко проникнуть во вложенность, или книжная полка может пройти только один уровень?Мне не удалось найти в документах книжной полки ничего (https://bookshelfjs.org/api.html)), в котором упоминается что-либо о восстановлении глубоко вложенных отношений.

Спасибо, что взглянули.

1 Ответ

0 голосов
/ 25 июня 2019

Да, книжная полка может достигать любого уровня отношений, поскольку у вас правильно сопоставлены модели.Говоря правильно, я имею в виду, что вам нужно установить правильную связь (один-к-одному, один-ко-многим и т. Д.), Указывающую на правильные внешние ключи, и ссылаться на них с тем же именем в опции withRelated в fetch()или fetchAll().

Пожалуйста, опубликуйте все модели, чтобы мы могли их осмотреть.

...