2017-10-13 3 views
0

J'utilise 6.x ExtJS avec trois modèles:Utiliser les associations de modèles multiples avec des liaisons

Ext.define('Admin.model.Patient', { 
    extend: 'Ext.data.Model', 

    requires: [ 
     'Ext.data.proxy.Rest', 
     'Ext.data.schema.Association' 
    ], 

    fields: [ 
     { name: 'id', type: 'string' }, 
     { name: 'mrn', type: 'string' }, 
     { name: 'birth_date', type: 'date', format: 'Y-m-d' }, 
     { name: 'sex', type: 'string' }, 
     { name: 'first_name', type: 'string' }, 
     { name: 'last_name', type: 'string' }, 

    ], 

    style: { 
     'font-size': '22px', 
     'color':'red' 
    }, 

    proxy: { 
     type: 'ajax', 
     url: remote.url.patient, 

     reader: { 
      type: 'json', 
      rootProperty: '' 
     } 
    } 

}); 

Ext.define('Admin.model.LabResultGroup', { 
    extend: 'Ext.data.Model', 

    idProperty: 'id', 
    fields: [ 
     { name: 'test_code', type: 'string' }, 
     { name: 'test_name', type: 'string' }, 
     { 
      name: 'patient_id', 
      type: 'string', 
      reference: { 
       parent: 'Patient', 
       inverse: 'lab_results', 
       autoLoad: false 
      } 
     } 
    ], 

    proxy: { 
     type: 'ajax', 
     url: remote.url.labsgroup, 
     reader: { 
      type: 'json', 
      rootProperty: '' 
    } 
}); 

et

Ext.define('Admin.model.LabResult', { 
    extend: 'Ext.data.Model', 

    idProperty: 'id', 
    fields: [ 
     { name: 'test_code', type: 'string' }, 
     { name: 'test_name', type: 'string' }, 
     { name: 'test_code_system', type: 'string' }, 
     { name: 'result_value', type: 'string' }, 
     { name: 'result_value_num', type: 'string' }, 
     { name: 'collection_datetime', type: 'date', format: 'Y-m-d' }, 
     { name: 'result_datetime', type: 'date', format: 'Y-m-d' }, 
     { 
      name: 'lab_id', 
      type: 'string', 
      reference: { 
       parent: 'LabResultGroup', 
       inverse: 'lab_group', 
       autoLoad: false 
      } 
     } 
    ], 

    proxy: { 
     type: 'ajax', 
     url: remote.url.labs, 
     reader: { 
      type: 'json', 
      rootProperty: '' 
     } 
    } 
}); 

je peux accéder à l'association entre LabResultGroup et patient très bien (entre deux comboboxes en utilisant des liaisons), mais quand j'essaie d'accéder à l'association entre LabResult et LabResultGroup, il ne s'enregistre pas.

Je posterai un violon en temps voulu pour montrer le comportement que je rencontre. Y at-il quelque chose qui empêcherait les associations à travers les modèles comme celui-ci?

Répondre

0

Ça a vraiment marché! Pour une raison étrange, le nom du parent dans l'association de mon modèle LabResult a été corrigé. Corrigé cela, et mes liaisons d'association tirent comme prévu.

(. De plus, il y avait un problème mineur avec le point final de l'API j'accédait que je devais ajouter une autre condition pour la propriété sur laquelle il a été le filtrage Détails, de shmetails.)

Morale de l'histoire: Les noms sont important! Peeps de joyeux vendredi! Ha! Ha!