次のように、「hasOne」アソシエーションによってリンクされた2つのExtJSモデルがあります。
Ext.define('MyProj.model.Car', {
extend: 'Ext.data.Model',
requires: [
'MyProj.model.CarPassport'
],
fields: [
{ name: 'id', type: 'int' },
{ name: 'model', type: 'string' },
{ name: 'passportId', type: 'int' }
],
associations: [
{ type: 'hasOne', model: 'CarPassport', primaryKey: 'id', foreignKey: 'passportId', getterName: 'getCarPassport', setterName: 'setCarPassport' }
]
});
Ext.define('MyProj.model.CarPassport', {
extend: 'Ext.data.Model',
fields: [
{ name: 'id', type: 'int' },
{ name: 'color', type: 'string' }
],
});
アソシエーションの多重度は1対1です。車は車のパスポートなしでは存在できません。空のCarインスタンスを作成しようとすると、ExtJSはリンクされたエンティティをプライマリエンティティに追加しません。
var car = Ext.ModelManager.getModel('MyProj.model.Car').create();
car.getCarPassport(); // This string produce error - getCarPassport is undefined
では、リンクされたCarPassportモデルインスタンスを使用してCarモデルインスタンスを作成することは可能ですか?trueの場合、どのように実行しますか?ありがとう...