我不确定在这里采用的方法是否正确;我有两个数据模型,CoursesFiled和TraineesFiled。它们都有一个名为CourseName的字段。每个受训人员记录都将有一个也出现在CoursesFiled中的CourseName字段。
最终产品需要两页。在第一个页面上,有一张包含所有课程的表格。选择一个,这将把用户带到下一个页面,其中有一个表格显示了所选课程中的所有受训人员。
我对此有些陌生,我认为最简单的方法是在TraineesFiled模型上设置一个查询数据源,查询脚本如下所示:
var courseName = "Register-2012-10-02(xxxxxxxxx).xml";//hardcoded for now, to be replaced with variable being passed from UI for app.datasources.CoursesFiled.item.CourseName;
var query = app.models.TraineesFiled.newQuery();
query.filters.CourseName._equals = courseName ;
query.run();当我创建一个以query-datasouce作为数据源的新表时,它加载时出现以下错误:
Fri Oct 12 10:59:46 GMT+200 2018
The function queryRecords returned undefined, please make sure a value was
explicitly returned. Error: The function queryRecords returned undefined,
please make sure a value was explicitly returned.
E
Fri Oct 12 10:59:46 GMT+200 2018
Executing query for datasource TraineesFiled1: (Error) : The function
queryRecords returned undefined, please make sure a value was explicitly
returned.
E
Fri Oct 12 10:59:46 GMT+200 2018
Executing query for datasource TraineesFiled1 failed.我哪里错了?我是不是完全走错了路?
发布于 2018-10-13 01:11:11
正如在中所解释的,当使用查询脚本时,您需要返回结果。
例如,假设您希望只返回年龄为偶数的员工,并应用查询中指定的最小年龄。您可以在查询脚本代码编辑器中编写以下代码片段:
var employeeResult = [];
// Modify passed query to additionally filter by minimum age.
query.filters.Age._greaterThan = 20;
var employeesAboveMinimumAge = query.run();
for (var i = 0; i < employeesAboveMinimumAge.length; i++) {
if (employeesAboveMinimumAge[i].age % 2 == 0) {
employeeResult.push(employeesAboveMinimumAge[i]);
}
}
return employeeResult;这意味着您需要做的就是向代码中添加一条return语句:
var courseName = "Register-2012-10-02(xxxxxxxxx).xml";
var query = app.models.TraineesFiled.newQuery();
query.filters.CourseName._equals = courseName ;
return query.run();https://stackoverflow.com/questions/52776119
复制相似问题