2011-11-07 42 views
0

下面是在数据库中的基本表结构:如何在ExtJS 4中建立复杂的模型关联?

Users <-> UserGroups <-> Groups 

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

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

我想属性需要是这样的:

Users  belongsTo UserGroups 
UserGroups hasMany Users and Groups 
Groups  belongsTo UserGroups 

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

我打算继续研究,但我希望有人知道如何做到这一点,或者至少有一个好主意!

回答

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

这应该让你开始。

+0

感谢您的信息。我最终做了相反的事情,以便UserGroup属于User和Group。这使我可以在点击网格中的“组”记录后访问UserGroup的数据。 –

+0

太棒了,很高兴知道你终于有了解决方案! – VoidMain

相关问题