【问题标题】:Using multiple model associations with bindings将多个模型关联与绑定一起使用
【发布时间】:2017-10-13 18:13:12
【问题描述】:

我正在使用 ExtJS 6.x 和三个模型:

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: ''
    }
});

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: ''
        }
    }
});

我可以很好地访问 LabResultGroup 和 Patient 之间的关联(在使用绑定的两个组合框之间),但是当我尝试访问 LabResult 和 LabResultGroup 之间的关联时,它没有注册。

我会在适当的时候发布一个小提琴来展示我遇到的行为。有什么东西可以阻止这样的模型之间的关联吗?

【问题讨论】:

    标签: extjs associations


    【解决方案1】:

    它确实有效!出于某种奇怪的原因,我的 LabResult 模型上的关联中的父名称被弄乱了。更正了这一点,我的关联绑定按预期触发。

    (另外,我正在访问的 API 端点存在一个小问题。我必须为其过滤的属性添加另一个条件。详细信息,shmetails)

    故事的寓意:名字很重要!快乐星期五偷看!哈!哈!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      相关资源
      最近更新 更多