0

以下是代码:

        queryTree = SC.Query.local('Tree.Category',
        "categoryId = {categoryId}", {
            categoryId: this.get('guid'),
            orderBy: "name ASC"
        });
        queryNote = SC.Query.local('Tree.Note',
            "categoryId = {categoryId}", {
            categoryId: this.get('guid'),
            orderBy: "name ASC"
        });
        var arrayCategory = Tree.store.find(queryTree);
        var arrayNote = Tree.store.find(queryNote);
        //Concatenate arrayCategory to arrayNote

我想返回一个新的记录数组,将结果附加到arrayCategory 和arrayNote。我浏览了文档,但似乎没有连接功能。

4

2 回答 2

1

这应该可以正常工作:

var result = Tree.store.find(SC.Query.local([Tree.Category, Tree.Note],
  "categoryId = {categoryId}", {
  categoryId: this.get('guid'),
  orderBy: "name ASC"
}));

要连接两个数组,您可以使用 pushObjects 方法,但它不适用于 SC.Query 的结果,因为它返回一个不可编辑的 SC.RecordArray(因为在添加或删除记录时它会自动更新)。

于 2012-12-07T07:54:21.697 回答
0

我以为我必须连接两个搜索结果。但是我以这种方式解决了问题:对于中的每条记录Tree.NoteTree.Category我创建了一个名为isChild并将其设置为YES前者和NO后者的字段。此外,我将函数的返回值更改为:

return Tree.store.find(SC.Query.local(['Tree.Category','Tree.Note'],
        "categoryId = {categoryId}", {
            categoryId: this.get('guid'),
            orderBy: 'isChild, name',

        }))

编辑:还是有问题。有人可以建议如何改变这个吗?

于 2012-12-07T18:42:59.290 回答