Как мне установить сложную ассоциацию моделей в ExtJS 4? - PullRequest
0 голосов
/ 07 ноября 2011

Вот базовая структура таблицы в базе данных:

Users   <->   UserGroups   <->   Groups

По сути, группа может содержать много пользователей, а пользователь может входить во многие группы.Таблица UserGroups является просто ассоциацией.

Как я могу представить эти же отношения с помощью моделей ExtJS 4?

Я думаю, что свойства должны быть примерно такими:

Users       belongsTo UserGroups
UserGroups  hasMany Users and Groups
Groups      belongsTo UserGroups

Я просто не уверен, будет ли это работать так, как мне нужно (поскольку мне нужно сохранить связь между пользователями и группами в базе данных).

Я собираюсь продолжить исследование, но я надеюсь, что кто-то знает, как это сделать, или, по крайней мере, имеет хорошую идею!

1 Ответ

1 голос
/ 08 ноября 2011

Это довольно просто сделать сейчас, проверьте это:

Ext.define('Group', {
    extend: 'Ext.data.Model',
    fields: ['id', 'user_id', 'group_id'],
    belongsTo: 'UserGroups'
});

Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: ['id', 'name', 'group_id'],
    belongsTo: 'UserGroup'
});


Ext.define('UserGroup', {
    extend: 'Ext.data.Model',
    fields: ['id', 'name'],

    hasMany  : [{model: 'User', name: 'users'},
                {model: 'Group', name: 'groups'}]
});

Это должно помочь вам начать.

...