Как получить данные из отношений с данными, хранящимися в массиве Id - PullRequest
0 голосов
/ 10 октября 2019

У меня есть партия моделей, которая имеет данные как

"id": {
      "type": "string",
      "id": true,
      "defaultFn": "uuidv4"
    },
    "batchType": {
      "type": "string",
      "required": true,
      "default": "COURSE"
    },
    "venue": {
      "type": "string",
      "required": true
    },

, а другая модель говорит bookedBathes

"batchesId": {
     "type": [
       "string"
     ],
     "required": true
   },

и создала отношения от модели партий к модели bookedBatches как

 "relations": {
    "bookedBatches": {
      "type": "referencesMany",
      "model": "bookedBatches",
      "foreignKey": "batchesId",
      "primaryKey": "id"
    }
  }

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


let reqObject = {
                    "where": {
                        "and": [{
                            userId: userId,
                            isActive: true
                        }]
                    },
                    "order": "createdAt DESC",
                    include: [
                        {{
                            relation:"bookedBatches"}}]
}


Batches.find(reqObject, (resError, resData) => {
                    if (resError) {
                        return cb(new HttpErrors.BadRequest(resError, {
                            expose: false
                        }))
                    }
                    return cb(null, resData);
                })

Но я не получаю никакого значения, может ли кто-нибудь помочь получитьзначения через отношение

Спасибо!

1 Ответ

0 голосов
/ 14 октября 2019

Я улучшил ваш код. Пожалуйста, попробуйте это

 let reqObject = {
  "where": {
    "and": [{
      userId: userId,
      isActive: true
    }]
  },
  "order": "createdAt DESC",
  include: [
    {
      relation: "bookedBatches",
      scope: { fields: ["id","batchesId"] }
    }
  ]
}


Batches.find(reqObject, (resError, resData) => {
  if (resError) {
    return cb(new HttpErrors.BadRequest(resError, {
      expose: false
    }))
  }
  return cb(null, resData);
})
...