我具有这样的数据结构(o / m =一对多关系):
Sites-o / m-Areas-o / m-Chapters-o / m-Sections-o / m-Topics和其他5种数据模型动作,工具,联系人...,与每5个第一个模型具有m / m关系。
1个站点可以有多个操作,例如Areas ...
不确定是否可以通过数据绑定,客户端或服务器脚本执行!
我写了这个服务器脚本解决方案,但是不确定它是否是最佳选择,因为它已经很慢了,只有两个级别!
function calculActions(kt) {
var kn = app.models.Sites.getRecord(kt.toString());
var knac = kn.Actions;
kn.Areas.forEach(function(item){
var knarac = item.Actions;
if (knarac.length>0){
knarac.forEach(function(ac){
knac.push(ac);
});
}
var knarch = item.Chapters;
knarch.forEach(function(item){
var knarchac = item.Actions;
if (knarchac.length>0){
knarchac.forEach(function(ac){
knac.push(ac);
});
}
});
});
return knac;
}
目标是为与同一网站相关联的每个资产(操作,工具,说明...)显示一个标签。
我确定我的草案有一个干净而有效的版本!
提前谢谢,我需要睡觉:-)