如何在ExtJS 4中设置复杂的模型关联?

时间:2011-11-07 17:28:25

标签: database model extjs4

这是数据库中的基本表结构:

Users   <->   UserGroups   <->   Groups

基本上,一个组可以包含许多用户,并且用户可以是许多组的一部分。 UserGroups表只是一个关联。

如何使用ExtJS 4模型表示相同的关系?

我认为属性需要像:

Users       belongsTo UserGroups
UserGroups  hasMany Users and Groups
Groups      belongsTo UserGroups

我只是不确定这是否会因为我需要它而起作用(因为我需要将用户和组之间的关联保存到数据库中)。

我将继续研究,但我希望有人知道如何实现这一目标,或者至少有一个好主意!

1 个答案:

答案 0 :(得分:1)

现在这很简单,请查看:

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'}]
});

这应该让你开始。