单向关系的设计
- talent
- A
- experiences
- company
- role
- cto
- ceo
- organization
company talent role
ContentModelRelations
| id | type | tableName |
|---|---|---|
| 1 | oneToMany | NULL |
| 2 | ManyToMany | company_talent_role |
RelationDesc
| id | relationId | contentModelId | referencing | referenced | foreignKey | relationAlias |
|---|---|---|---|---|---|---|
| 1 | 1 | talentId | NULL | true | talentId | |
| 2 | 1 | expId | true | NULL | ||
| 3 | 2 | talentId | NULL | true | talentId | |
| 4 | 2 | companyId | NULL | true | companyId | |
| 5 | 2 | roleId | NULL | true | roleId |
ReverseDesc
| rowId | willReturn | reverseModelId | alias | descId |
|---|---|---|---|---|
| 1 | true | expId | E | 1 |
| 2 | true | talentId | T | 2 |
| 3 | true | roleId | R | 3 |
| 4 | false | talentId | T | 3 |
// aliases: [
// {
// contentModelId: 3,
// contentModelAlias: 'companies'
// },
// {
// contentModelId: 6,
// contentModelAlias: 'roles'
// }
// ],
// relationAlias: ''
return {
company_role_set:[{
talent_name:A
companes:[{
company_name:google,
roles:[CTO]
},{
company_name:facebook,
roles:[CEO]
}],
}]
}
{
company_role_set:[{
comnpanies:{
google,
},
roles:{
ceo
}
},{
companies:{}
}]
}