Javascript 使用JayData筛选标题详细信息表-内部联接SQL,oData
你好,我是新来的,正在使用JayData和oData,所以请原谅我的无知 这是我的对象结构:Javascript 使用JayData筛选标题详细信息表-内部联接SQL,oData,javascript,odata,jaydata,datajs,Javascript,Odata,Jaydata,Datajs,你好,我是新来的,正在使用JayData和oData,所以请原谅我的无知 这是我的对象结构: $data.Entity.extend('PlannerModel.vMasterPlanner', { 'Sequence_Number': { key:true,type:'Edm.Int32',nullable:false,required:true }, 'Scenario_Name': { type:'Edm.String',nullable:true,maxLength:25
$data.Entity.extend('PlannerModel.vMasterPlanner', {
'Sequence_Number': { key:true,type:'Edm.Int32',nullable:false,required:true },
'Scenario_Name': { type:'Edm.String',nullable:true,maxLength:250 },
'Activity_ID': { type:'Edm.String',nullable:false,required:true,maxLength:250 },
'Activity_Description': { type:'Edm.String',nullable:true,maxLength:500 },
'Object_ID': { type:'Edm.String',nullable:true,maxLength:250 },
'Object_Description': { type:'Edm.String',nullable:true,maxLength:400 },
'Operation_Code': { type:'Edm.String',nullable:false,required:true,maxLength:250 },
'Operation_Description': { type:'Edm.String',nullable:true,maxLength:50 },
'Crew_ID': { type:'Edm.String',nullable:true,maxLength:250 },
'Crew_Name': { type:'Edm.String',nullable:true,maxLength:50 },
'Period': { type:'Edm.Int32',nullable:true },
'vActivity': { type:'PlannerModel.vActivity',required:true,inverseProperty:'vMasterPlanners' } });
$data.Entity.extend('PlannerModel.vActivity', {
'Activity_ID': { key:true,type:'Edm.String',nullable:false,computed:true },
'Activity_Name': { type:'Edm.String',nullable:false,required:true },
'vMasterPlanners': { type:'Array',elementType:'PlannerModel.vMasterPlanner',inverseProperty:'vActivity' } });
$data.EntityContext.extend('PlannerServiceLibrary.PlannerEntities', {
ProgressDetails: { type: $data.EntitySet, elementType: PlannerModel.ProgressDetails },
ProgressHeaders: { type: $data.EntitySet, elementType: PlannerModel.ProgressHeader },
vCrews: { type: $data.EntitySet, elementType: PlannerModel.vCrew },
vPeriods: { type: $data.EntitySet, elementType: PlannerModel.vPeriod },
vOperations: { type: $data.EntitySet, elementType: PlannerModel.vOperation },
vActivities: { type: $data.EntitySet, elementType: PlannerModel.vActivity },
vMasterPlanners: { type: $data.EntitySet, elementType: PlannerModel.vMasterPlanner } });
只是一个小小的解释:
表主计划器是一个明细表,表活动是标题表
我需要从活动表(标题)中选择所有活动,其中在详细信息表中找到的乘员ID例如=2
我如何使用oData和JayData实现这一点
我目前正在使用
provider.vActivities.filter(function (ac) {
return ac.vMasterPlanners.Crew_ID == "FM2_F/W" })
.toArray(function (e) {
console.log(e);
});
这是要处理的错误未知表达式类型:EntitySetExpression
localhost/mobile-web/htdocs/assets/jayData/jayData.js
第89行
请帮助任何人
谢谢大家! 您需要'some'或'every'运算符,请参见此您需要'some'或'every'运算符,请参见此它看起来像是一个已知问题我已将其添加到github中它看起来像是一个已知问题我已将其添加到github中您能否尝试使用我提供的表格给我一个示例?我已经看过这篇文章了,我不明白你在过滤器中如何再次调用这个变量子过滤器,谢谢!!!!嗨,它应该是这样的:var subFilter=provider.vMasterPlanner.filter(函数(ac){return ac.Crew\u ID==“FM2\u F/W”;});provider.vActivities.filter(函数(ac){ac.vMasterPlanners.some(this.subfilter);},{subfilter:subfilter}).toArray(…在这种情况下,您只需要'some'或'every'(1..n),1..1或n..1不需要它。'some'表示至少有一条记录匹配,每一条都表示所有记录必须匹配尚未解决:-/我记得我已经尝试过了,它给了我这个错误400错误请求15ms datajs-1.0.3.js(第1074行)“networker错误:400错误请求-恐怕这与我的服务有关?var subFilter=provider.vMasterPlanners.filter(函数(ac){return ac.Crew_ID==“FM2_F/W”;});provider.vActivities.filter(函数(ac){ac.vMasterPlanners.some(this.subFilter);},{subFilter:subFilter})。toArray(函数(e){console.log(e);})你能用我提供的表格给我举个例子吗?我已经看过这篇文章了,我不明白你在过滤器中再次调用这个变量子过滤器的方式,谢谢!!!!嗨,应该是这样的:var subFilter=provider.vMasterPlanner.filter(函数(ac){return ac.Crew_ID==“FM2_F/W”});provider.vActivities.filter(函数(ac){ac.vMasterPlanners.some(this.subfilter);},{subfilter:subfilter}).toArray(…在这种情况下,您只需要'some'或'every'(1..n),1..1或n..1不需要它。'some'表示至少有一条记录匹配,每一条都表示所有记录必须匹配尚未解决:-/我记得我已经尝试过了,它给了我这个错误400错误请求15ms datajs-1.0.3.js(第1074行)“networker错误:400错误请求-恐怕这与我的服务有关?var subFilter=provider.vMasterPlanners.filter(函数(ac){return ac.Crew_ID==“FM2_F/W”;});provider.vActivities.filter(函数(ac){ac.vMasterPlanners.some(this.subFilter);},{subFilter:subFilter})。toArray(函数(e){console.log(e);})