我有一种情况,我有一个模型,旨在存储几个化学品清单。每个hasMany
关系的化学模型都是相同的。
我需要这样的东西:
Ext.define('HandSurvey.model.ChemicalRisks', {
extend: 'Ext.data.Model',
requires: ['Ext.data.identifier.Uuid'],
config: {
idProperty: 'id',
identifier: 'uuid',
fields: [
{ name: 'id', type: 'auto' }
],
associations: [
{
type: 'hasMany',
model : 'HandSurvey.model.SpecificChemical',
name : 'fiberglassResins',
store : {
type: 'sql'
}
},
{
type: 'hasMany',
model : 'HandSurvey.model.SpecificChemical',
name : 'paintsStains',
store : {
type: 'sql'
}
},
],
proxy: {
type: 'sql'
}
}
});
但这会导致每个列表绑定到属于SpecificChemical
模型的每个ChemicalRisks
,而不仅仅是属于hasMany
的{{1}}。好像我需要加入多个字段
有可能这样做吗?或者我是否必须制作一组具有不同名称的完全相同的模型/商店?
答案 0 :(得分:2)
确定你可以!
使用associationKey和关联的自动生成商店
associations: [
{
type: 'hasMany',
model : 'HandSurvey.model.SpecificChemical',
name : 'fiberglassResins',
associationKey : 'fiberglassResins'
},
{
type: 'hasMany',
model : 'HandSurvey.model.SpecificChemical',
name : 'paintsStains',
associationKey : 'paintsStains'
},
]
给出这样的回答:{
"response" : {
"fiberglassResins": [
{
"id" : 1
"name" : "Polyester"
},
{
"id" : 2
"name" : "E-Glass"
}
],
"paintsStains": [
{
"id" : 1
"name" : "item1"
},
{
"id" : 2
"name" : "item2"
}
]
}
}
然后将主模型绑定到商店,比如ItemsStore。 重要事项ItemsStore的每条记录都将由Sencha自动生成:fiberglassResinsStore和paintsStainsStore。
哟可以通过console.log()查看实际商店的每条记录。