別のモデルChamberに関連付けられたモデルScheduleがあります。関連付けられたモデル データが null の場合、問題が発生します。必須フィールドではないため、これは正常な動作です。
アップグレード:スケジュールモデルは、サーバーからデータをロードするストアで使用される scheduleTree モデルの一部です。
Ext.define('...SchedulesTree', {
extend : '...TreeStore',
model: "...ScheduleTree",
root: {
expanded: true,
text: "root",
children: [],
loaded: true
},
paramsAsHash : true,
proxy : {
type: "direct",
autoLoad: false,
api : {
read: registratorAction.getScheduleNode
},
reader: {
type: "json",
root : "records",
totalProperty: 'total'
}
}
});
Ext.define("...ScheduleTree", {
extend: "Ext.data.Model",
...
associations: [
{
type: "hasMany",
model: "Unimed.model.staff.Schedule",
name: "schedules",
getterName: "schedules"
}
]
});
Ext.define("...Schedule", {
extend: "Ext.data.Model",
fields: [
{name: "timeBegin", type: "date", dateFormat: "time"},
{name: "timeEnd", type: "date", dateFormat: "time"}
],
proxy: {
type: "direct",
reader: {
type: "json"
}
},
associations: [
{
type: "belongsTo",
model: "..LpuPosition",
associationKey: "lpuPosition",
getterName: "lpuPosition",
associatedName: "lpuPosition"
},
{
type: "belongsTo",
model: "...Chamber",
associationKey: "chamber",
getterName: "chamber",
associatedName: "chamber"
}
]
});
私がチャンバーを取得しているとき:
chamber = schedule.chamber();
そして、私が例外を取得しているリンクされたデータはありません: 'Uncaught TypeError: undefined is not a function'.
生データを調べることで回避できますが、もっと洗練されたソリューションが存在する可能性がありますか?