0

Sencha Touch 2 で 1 対多のモデルを作成するのに問題があります。

「人」を保存し、人に「todo's」を追加したい。これらの値は、ローカル ストレージに保存する必要があります。

つまり、1 人で複数の ToDo を持つことができます。

このために、私は 2 つのモデルと 2 つの店舗を持っています。

人物モデル:

Ext.define("app.model.PersonModel", {
extend: "Ext.data.Model",
config: {
    idProperty: 'email',
    fields: [
        { name: 'name', type: 'string' },
        { name: 'email', type: 'string' },
    ],
    validations: [
        { type: 'presence', field: 'email' , message: 'Blabla'},
        { type: 'presence', field: 'name' , message: 'Blabla'},
        { type: 'email', field: 'email' , message: 'Blabla'},
    ]
}
});

トドモデル:

Ext.define("app.model.TodoModel", {
extend: 'Ext.data.Model',
config: {
    idProperty: 'todoId',
    fields: [
        { name: 'todoId', type: 'int' },
        { name: 'email', type: 'string' },
        { name: 'note', type: 'string' }
    ],
    validations: [
        { type: 'presence', field: 'todoId', message: 'Blabla' },
        { type: 'presence', field: 'email', message: 'Blabla' },
        { type: 'presence', field: 'note', message: 'Blabla' }
    ]
}
});

個人ストア:

Ext.define("app.store.PersonStore", {
extend: "Ext.data.Store",
requires: "Ext.data.proxy.LocalStorage",
config: {
    model: "app.model.PersonModel",
    proxy: {
        type: 'localstorage',
        id: 'todo-app-personstore'
    },
    sorters: [{ property: 'name', direction: 'ASC'}],
    grouper: {
        sortProperty: "name",
        direction: "ASC",
        groupFn: function (record) {
        }
    }
}
});

トドストア:

Ext.define("app.store.TodoStore", {
extend: "Ext.data.Store",
requires: "Ext.data.proxy.LocalStorage",
config: {
    model: "app.model.TodoModel",
    proxy: {
        type: 'localstorage',
        id: 'todo-app-todostore'
    },
    sorters: [{ property: 'email', direction: 'ASC'}],
    grouper: {
        sortProperty: "email",
        direction: "ASC",
        groupFn: function (record) {
        }
    }
}
});

モデルで作成した関連付けは、まったく機能しなかったため、削除しました。

たぶん関連情報: まず、人を救いたいです。後で、todo を保存して、それらを人に結び付けたいと考えています。

4

1 に答える 1

1

以下のリンクを参照してみてください。

http://miamicoder.com/2012/sencha-touch-2-models-hasmany-associations-php-example/

http://appointsolutions.com/2012/07/using-model-associations-in-sencha-touch-2-and-ext-js-4/

于 2012-10-18T13:22:35.667 に答える