2016-02-11 3 views
1

Я хочу, чтобы установить связь между двумя моделями, после JSon файлов:модель отношений в рамках Loopback

{ 
     "name": "Surveyor", 
     "plural": "surveyors", 
     "base": "PersistedModel", 
     "strict": true, 
     "idInjection": true, 
     "options": { 
     "validateUpsert": true 
    }, 
    "mongodb": { 
     "collection": "surveyors" 
    }, 
    "settings": { 
     "mongodb": { 
      "allowExtendedOperators": true 
     } 
    }, 
    "properties": { 
     "name": { 
      "type": "string", 
      "required": true 
     }, 
     "surname": { 
      "type": "string", 
      "required": true 
     }, 
     "dateOfBirth": { 
      "type": "date" 
     }, 
     "birthPlace": { 
      "type": "string" 
     }, 
     "provinceOfBirth": { 
      "type": "string" 
     }, 
     "gender": { 
      "type": "string" 
     }, 
     "registrationNumber": { 
      "type": "string", 
      "required": true, 
      "unique": true 
     } 
    }, 
    "validations": [], 
    "relations": {} 
    }, 
    "acls": [], 
    "methods": {} 
} 
{ 
     "name": "Dossier", 
     "plural": "dossiers", 
     "base": "PersistedModel", 
     "strict": true, 
     "idInjection": true, 
     "options": { 
      "validateUpsert": true 
     }, 
     "mongodb": { 
      "collection": "dossiers" 
     }, 
     "settings": { 
      "mongodb": { 
       "allowExtendedOperators": true 
      } 
     }, 
     "properties": { 
      "delCode": { 
       "type": "string", 
       "required": true 
      }, 
      "client": { 
       "name": { 
        "type": "string", 
        "required": true 
       }, 
       "surname": { 
        "type": "string", 
        "required": true 
       }, 
       "taxCode": { 
        "type": "string" 
       } 
      }, 
      "surveyor": { 
       "type": "string" 
      }, 
      "examination": { 
       "type": "object" 
      }, 
      "appointment": { 
       "type": "date" 
      }, 
      "status": { 
       "type": "string", 
       "required": true 
      }, 
      "notes": { 
       "type": "string" 
      } 
    }, 
    "validations": [], 
    "relations": {}, 
    "acls": [], 
    "methods": {} 
} 

Одно досье может иметь один геодезист, как ключ я хочу использовать свойство surveyor в модели Досье, соответствующей объекту registrationNumber в модели Surveyor.

Я хочу, чтобы запросить досье модели и получить данные Маркшейдер в досье документ:

[GET] /api/dossiers 

или с фильтром:

[GET] /api/dossiers?filter={"include":"surveyor"} 

, если это возможно, я хочу, чтобы настроить связь в json-файле, а не в коде.

+0

Что ваша проблема именно? – Overdrivr

ответ

0

Вы можете использовать relation generator, чтобы создать это для вас. В вашем случае вам понадобится создать belongsTO relation от Dossier to Surveyor. Если вы хотите запросить другой способ (досье от геодезиста), вам понадобится создать отношение hasMany от Surveyor to Dossier.

Короче говоря, за то, что вы просили, вы будете в конечном итоге с чем-то вроде этого:

В модели Досье:

... 
"relations": { 
    "surveyor": { 
    "type": "belongsTo", 
    "model": "Surveyor", 
    "foreignKey": "surveyor", 
    "primaryKey": "registrationNumber" 
    } 
} 
... 
Смежные вопросы