Скрыть вложенные свойства в петлевой модели - PullRequest
0 голосов
/ 20 мая 2019

Я создаю модель с обратной связью (model1), которая ссылается на другую модель и хочет скрыть некоторые свойства вложенной модели (model2). Кроме того, я просто хочу, чтобы они были скрыты в этой модели1. Как я могу решить эту проблему?

Я пробовал скрытое свойство, которое отлично работает с текущими свойствами model1, но не со вложенными свойствами model2.

{
  "name": "Model1",
  "base": "PersistedModel",
  "idInjection": true,
 ...
  "properties": {
    "pet": {
      "type": "Model2",
    }
 ...
}

{
  "name": "Model2",
 ...
  "properties": {
    "name": {
      "type": "string",
    }
 ...
}

Я хочу здесь, чтобы скрыть свойство "name" из Model2 в проводнике Model1

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 мая 2019

Вы проверили документацию с фильтром .Я надеюсь, что это решит вашу проблему, или поделитесь более описательным кодом, который вы пробовали до сих пор.

Вот еще один пример, который использует предопределенные отношения модели для включения выборочных полей из связанных моделей.

{"include": [  
  {"relation":"relationName", 
   "scope":{"fields": ["Field1","Field2"]} 
  },
  {"relation2":"relation2Name", 
   "scope":{"fields": ["Field3","Field4"]} 
  },
]}

Примечание: вы не сможете скрыть идентификаторы

0 голосов
/ 20 мая 2019

Я хочу здесь, чтобы скрыть свойство "name" из Model2 в проводнике Model1

Для этого просто добавьте эту строку в ваш model2.json:

"protected": ["name"],

Вы ищете защищенное свойство , защищенные поля не будут присутствовать, если объект вложен в другой.

...