以下是代码:
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。我浏览了文档,但似乎没有连接函数。
答案 0 :(得分: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(因为它在你添加或删除记录时会自动更新)
答案 1 :(得分:0)
我以为我必须连接两个搜索结果。但我这样解决了问题:
对于Tree.Note
和Tree.Category
中的每条记录,我创建了一个名为isChild
的字段,并在前者中设置为YES
,在后者中设置为NO
。
此外,我将函数的返回值更改为:
return Tree.store.find(SC.Query.local(['Tree.Category','Tree.Note'],
"categoryId = {categoryId}", {
categoryId: this.get('guid'),
orderBy: 'isChild, name',
}))
编辑:有些事还是错的。有人建议怎么改变这个?