我有一个以下格式的json:
{
"collection": [
{
"id": 4,
"tickets": [
{
"price": 40,
},
{
"price": 50,
}
],
},
{
"id": 1,
"tickets": [
{
"price": 10,
},
{
"price": 15,
}
]
},
]
}
商店:
Ext.define("myProject.store.ABCs", {
extend: "Ext.data.Store",
config: {
model: "myProject.model.ABC",
autoLoad: false,
proxy: {
type: "ajax",
url: '', //myURL
reader: {
type: "json",
rootProperty: "collection", // this is the first collection
},
},
}
});
对于这个特殊的JSON,我创建了模型:
Ext.define("myProject.model.ABC", {
extend: "Ext.data.Model",
config: {
idProperty: "id",
fields:[
{name: "id", type: "int" },
],
hasMany: [
{
model: "myProject.model.XYZ",
name: "tickets",
associationKey: "tickets",
},
],
}
});
第二个模型为:
Ext.define("myProject.model.XYZ", {
extend: "Ext.data.Model",
config: {
// idProperty: "id",
fields:[
{name: "inner_id", type: "int" },
],
belongsTo: 'myProject.model.ABC'
}
});
此特定代码创建商店并正确填充模型。
var store = Ext.getStore('ABCs');
现在我想根据store.tickets()。getAt(0).get(' price')对这个商店进行排序,这是根据XYZ的第一个价格属性对ABC记录进行排序。
在上面的json中。 ABC唱片将是:[{id:4},{id:1}] 但是由于XYZ中的第一个价格(40> 10),我想对它们进行排序并创建[{id:1},{id:4}]