Петлевой доступ к супер-модели и расширенным моделям из одного отношения - PullRequest
0 голосов
/ 09 марта 2020

Я использую Loopback 3, и у меня есть следующие три модели: UserFile. json

{
  "name": "UserFile",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "id": {
      "type": "number",
      "id": true,
      "generated": true
    },
    "name": {
      "type": "string",
      "required": true
    },
    "size": {
      "type": "number",
      "default": 0
    },
    "uploadedAt": {
      "type": "date",
      "default": "$now"
    }
  },
  "relations": {
    "hasFile": {
      "type": "hasMany",
      "model": "UploadedFile",
      "foreignKey": "fileId"
    }
  }
}

Загруженный файл. json

{
  "name": "UploadedFile",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "hashId": {
      "type": "string",
      "required": true
    },
    ......
  },
  "relations": {
    "file": {
      "type": "belongsTo",
      "model": "UserFile",
      "foreignKey": "fileId"
    }
  }
}

PartitionedFile. json

{
  "name": "PartitionedFile",
  "base": "UploadedFile",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "partSize": {
      "type": "number",
      "default": 0
    }
  },
  "relations": {
    "file": {
      "type": "belongsTo",
      "model": "UserFile",
      "foreignKey": "fileId"
    }
  }
}

Идея состоит в том, что UserFile имеет либо один UploadedFile , либо (два или более) много PartitionedFile . Я хочу получить из файла UserFile из того же файла файл, UploadedFile или PartitionedFile . Возможно ли добиться этого только из определений моделей, или это можно сделать только удаленным методом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...