2011-11-07 1 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