在拉力赛中,我们有以下的故事结构:
父母故事1
|__子故事1
| |__儿童故事1
| |__儿童故事2
|
|__子故事2
|__儿童故事3
|__子故事3
|___儿童故事4
我想了解一下所有的家长故事,以及他们目前计划发布的内容。一旦父故事有了子故事,它的发行价值是不可编辑的,因为它设置在较低的故事中。是否有一种方法,以确定什么版本的故事将完成与只打一个电话给拉利?
谢谢!
发布于 2011-09-29 12:22:02
我找到的最简单的解决方案是执行以下操作:
var epicLevelStories = {
key: 'epics',
type: 'hierarchicalrequirement',
fetch: 'FormattedID,Name,ObjectID,Release'
query: epicQuery,
order: 'FormattedID'
};
var epicLevel2Stories = {
key: 'epiclevel2',
placeholder: '${epics.children?fetch=Name,FormattedID,Parent,Release}'
};
var epicLevel3Stories = {
key: 'epiclevel3',
placeholder: '${epiclevel2.children?fetch=Name,FormattedID,Parent,Release}'
};
var queryArray = [epicLevelStories, epicLevel2Stories, epicLevel3Stories];
rallyDataSource.findAll(queryArray, doStuffWithResults);一旦您得到一个没有条目的结果集(epiclevel#),您就知道您已经到达树的底部了。
我猜如果epiclevel3仍然有故事,那么您可以为接下来的3层构建一个新的查询数组,并递归地调用相同的"doStuffWithResults“方法。这只是个想法。我还没测试过呢。
发布于 2011-09-28 17:31:23
如果您想要获得父故事的子版本的列表,以查看它们在哪个版本中,可以使用以下查询。
(Parent.Parent.FormattedID = ###PUT THE FORMATTED ID HERE###)
如果要在浏览器中进行实验,可以尝试以下URL。
如果您知道子故事都在同一个版本中,那么您可以在节省一点带宽的同时,放置一个&pagesize=1,查看那个返回的故事的发行版。
这个查询的一个奇怪部分是,您必须知道要从您感兴趣的父级检索的故事有多深。在您的示例中,您的层次结构是两层深度,所以在查询中,您使用的是我要检索的故事的Parent.Parent。
https://stackoverflow.com/questions/7586312
复制相似问题