3

次のように、「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の場合、どのように実行しますか?ありがとう...

4

1 に答える 1

-1

Sencha フォーラムでこのブログ投稿へのリンクを見つけて、助けになりました。

クライアント側の関連付け

于 2013-03-25T04:22:13.793 に答える