同じ質問を Sencha フォーラムに投稿しました: http://www.sencha.com/forum/showthread.php?259313-Dealing-with-nulls-in-nested-data&p=949429#post949429
アソシエーションがどのように機能するのか理解できません (ExtJS 4.1.1a)。次のモデルを検討してください。
Ext.define('FM.model.Project', {
extend: 'Ext.data.Model',
requires: ['FM.model.Company'],
fields: [
'id',
'customer_id',
'parent_id',
'name',
'code',
'supervisor_id',
'start_date',
'end_date',
'budgeted_hours',
'budgeted_sales',
'budgeted_working_cost',
'budgeted_material_cost',
'info'
],
associations: [
{type: 'belongsTo', model: 'FM.model.Company', associatedName: 'Customer'},
{type: 'belongsTo', model: 'FM.model.Project', associatedName: 'Parent'},
]
});
JSON データの「親」または「顧客」が null の場合があります。その場合、関連ゲッターも null を返す必要があります。しかし、代わりに例外が発生します。
Con はコンストラクターではありません
create() の ModelManager.js から。これは、BelongsTo 関連付けが associatedName ("Parent" または "Customer" のいずれか) で新しいインスタンスを作成しようとしているために発生します。これは私には意味がありません。
このような欠落した関連付けをどのように処理すればよいですか? 関連するデータが存在するかどうかを知る必要があるため、ダミーの新しいインスタンスを構築することは適切な解決策ではありません。