这是数据库中的基本表结构:
Users <-> UserGroups <-> Groups
基本上,一个组可以包含许多用户,并且用户可以是许多组的一部分。 UserGroups
表只是一个关联。
如何使用ExtJS 4模型表示相同的关系?
我认为属性需要像:
Users belongsTo UserGroups
UserGroups hasMany Users and Groups
Groups belongsTo UserGroups
我只是不确定这是否会因为我需要它而起作用(因为我需要将用户和组之间的关联保存到数据库中)。
我将继续研究,但我希望有人知道如何实现这一目标,或者至少有一个好主意!
答案 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'}]
});
这应该让你开始。