postgres / bookshelf fetchAll () withRelated (получение нескольких отношений) - PullRequest
0 голосов

Я пытаюсь выполнить довольно сложный (по крайней мере для меня) запрос API, который включает получение массива отчетов.У самого объекта отчета есть вложенные объекты, и поэтому я пытаюсь получить связанные данные одновременно.Объект отчета выглядит следующим образом:

reports: { loading: false, error: null, data: [{id:'', date:'', 
student_id:'', 
feeding:[],diapering:[], nap:[], meds:[], playTime:[], comments:[], 
supplies:[]}] } 

Я выяснил, как получить один отчет с несколькими связанными таблицами, но я не смог выяснить синтаксис для получения массива отчетов каждыйс их собственными связанными данными.

это то, что у меня есть на данный момент:

exports.getReport = (date) => {
  console.log(id)
  return Reports.where(date)
        .fetchAll({
              withRelated: ['feeding', 'comment', 'diapering', 'nap', 'meds', 'playTime', 'supplies']
        })
        .then(report => {
              const meds = report.related('meds')
              const nap = report.related('nap')
              const feeding = report.related('feeding')
              const diapering = report.related('diapering')
              const supplies = report.related('supplies')
              const playTime = report.related('playTime')
              const comm = report.related('comment')

              const medsList = meds.map(med => {
                    return med.attributes
              })
              const napList = nap.map(n => {
                    return n.attributes
              })
              const feedingList = feeding.map(feed => {
                    return feed.attributes
              })
              console.log(feedingList)
              const diaperList = diapering.map(diaper => {
                    return diaper.attributes
              })
              const suppliesList = supplies.map(supply => {
                    return supply.attributes
              })
              const playTimeList = playTime.map(play => {
                    return play.attributes
              })
              const commentList = comm.map(com => {
                    return com.attributes
              })
              return reports
              const reports = report.models.map(rep => {
                    return rep.attributes
              })
              return [feedingList, commentList, napList, playTimeList, 
                      suppliesList, diaperList, medsList, reports]
        })
        .catch(err => {
              console.log(err)
        })
   }

этот синтаксис работает с

.fetch ()

, но не с

fetchAll ()

Я получаю отчет

.не является ошибкой функции

...