如何将嵌套的 "AND"、"OR" 条件集成到 "WorkFront" 查询中
How to integrate nested "AND", "OR" conditions to the "WorkFront" query
我有一个表单,用户可以根据该条件生成任何条件,我们的系统将从 WorkFront 获取数据。
查询是这样的:
SELECT `name` FROM Project where name = 'test' AND (status = 1 OR status = 2)
查询将由用户生成,因此可能会更复杂,具体取决于用户。
那么有没有什么方法可以运行这个查询或者把它转换成工作前台可以理解的形式。
我已经阅读了 workfront 提供的所有过滤器,但没有成功,因为可用的过滤器无法满足我的要求。
Workfront 的过滤器不是很先进,我怀疑在 API 的约束下无法完全实现复杂的查询。您的查询是可能的:
GET https://<url>.my.workfront.com/attask/api/v9.0/PROJ/search?name=<name>&status=<status1>,<status2>&apiKey=<key>
但是,此查询之所以可行,只是因为相对简单,而且您的嵌套条件实际上只是单个搜索的两个有效值(两种状态),可以用逗号表示。如果您有一个更复杂的查询,每个嵌套搜索至少使用一个唯一值,例如
SELECT 'name' from PROJECT where (name = 'test' AND status = 'complete') OR (percentageComplete >= 75 AND status = 'blocked')
至少,我想不出在 Workfront 中解决这个问题的方法……这并不意味着真的没有办法做到。
然而,当我需要一个复杂的查询时,我只是分段构建它,然后将数据组合到我的应用程序中。例如,在上面的例子中,我只是 运行 单独的两个查询,然后在我的代码中组合两个结果集(因为它是一个 OR)并向我的用户呈现一个统一的数据集,所以它们是 none 更明智的是,它实际上是对 Workfront 的多次查询。这是我建议您使用的解决方案。
我有一个表单,用户可以根据该条件生成任何条件,我们的系统将从 WorkFront 获取数据。
查询是这样的:
SELECT `name` FROM Project where name = 'test' AND (status = 1 OR status = 2)
查询将由用户生成,因此可能会更复杂,具体取决于用户。
那么有没有什么方法可以运行这个查询或者把它转换成工作前台可以理解的形式。
我已经阅读了 workfront 提供的所有过滤器,但没有成功,因为可用的过滤器无法满足我的要求。
Workfront 的过滤器不是很先进,我怀疑在 API 的约束下无法完全实现复杂的查询。您的查询是可能的:
GET https://<url>.my.workfront.com/attask/api/v9.0/PROJ/search?name=<name>&status=<status1>,<status2>&apiKey=<key>
但是,此查询之所以可行,只是因为相对简单,而且您的嵌套条件实际上只是单个搜索的两个有效值(两种状态),可以用逗号表示。如果您有一个更复杂的查询,每个嵌套搜索至少使用一个唯一值,例如
SELECT 'name' from PROJECT where (name = 'test' AND status = 'complete') OR (percentageComplete >= 75 AND status = 'blocked')
至少,我想不出在 Workfront 中解决这个问题的方法……这并不意味着真的没有办法做到。
然而,当我需要一个复杂的查询时,我只是分段构建它,然后将数据组合到我的应用程序中。例如,在上面的例子中,我只是 运行 单独的两个查询,然后在我的代码中组合两个结果集(因为它是一个 OR)并向我的用户呈现一个统一的数据集,所以它们是 none 更明智的是,它实际上是对 Workfront 的多次查询。这是我建议您使用的解决方案。