如何在Google App Maker中过滤记录?

时间:2019-07-09 13:35:44

标签: google-app-maker

我正在创建一个应用程序,它将帮助我们的员工管理任务。员工分为全国不同地区。我希望给定地区的员工看到仅与此地区相关的任务。

工作流程:

  1. 通过表单提交任务。表单中的字段之一是“区域名称”。

  2. 该任务进入了区域视野。

  3. 员工可以从其区域的视图中接管任务。

我有一个名为“ Service”的MAIN数据模型,其中嵌入的是用于提交任务的表格。

我也有数据字典模式,在这里我导入了有关员工及其所在地区的数据。

如何为特定区域的员工创建视图?

编辑:我试图在Service modal上做数据源,并写一些查询来做过滤器,但是我不完全了解查询的工作原理。

编辑2:这是模态的样子:

服务:ERBuilder 点:1

我应该建立联系吗?

1 个答案:

答案 0 :(得分:1)

可能的解决方法是在您的服务模型下有一个数据源,该数据源通过DOT模型的子查询在Province上过滤您的服务记录。这可以通过此数据源中的查询服务器脚本来完成。

示例代码为(请记住,“ query”是当前模型服务器脚本的默认变量,因此子查询需要它自己的变量):

var DOTmodelquery = app.models.DOT.newQuery();
DOTmodelquery.filters.email._equals = Session.getActiveUser().getEmail();
var result = DOTmodelquery.run();

if (result === undefined || result.length === 0) {
  throw new app.ManagedError('Could not retrieve user to perform this query!');
} else if (result[0].Province === null) {
  throw new app.ManagedError('User does not have a Province value to perform this query!');
} else {
  query.filters.Province._equals = result[0].Province;
}

return query.run();

不确定服务和DOT之间的关系是解决问题的方法,但是您可以考虑建立省模型,然后在省-服务和省-DOT之间建立关系,然后尝试在服务中运行查询,例如所以query.filters.Province.DOT.email._equals = Session.getActiveUser().getEmail();。希望这会给您您所希望的。