У меня есть класс Друга и класс Дружбы на Parse.com. Класс дружбы имеет 2 столбца с именем «Friend1» и «Friend2», которые представляют отношения и являются указателями на класс «Друг».parse.com сортировать вложенный запрос
Я хочу найти 20 самых старых друзей. Так что я пытаюсь вложенный запрос, как это в скор:
var queryInner = PFQuery(className: "Friend")
queryInner.orderByDescending("Age")
var queryOuter = PFQuery(className: "Friendship")
queryOuter.whereKey("Friend2", matchesQuery: queryInner)
queryOuter.whereKey("Friend1", equalTo: PFObject(withoutDataWithClassName:"Friend", objectId: friendId))
queryOuter.includeKey("Friend2")
queryOuter.limit = 20
queryOuter.findObjectsInBackgroundWithBlock{
//handling
}
Он получает 20 друзей, но они не сортируются по убыванию возраста. Это проблема разбора? проблема с моим запросом? Спасибо!
Я считаю, что это синтаксический анализ проблемы, см. [This] (http://stackoverflow.com/questions/21184263/in-parse-com-cloud-code-how-to-sort-records-by-its -child-table), где кто-то пытался сделать что-то похожее. Одна вещь, которую я мог бы предложить, заключается в том, чтобы использовать ваш внутренний запрос как основной запрос, а ваш внешний запрос - внутреннее. Из одной из двух ссылок: «Вы можете сортировать запрос только по свойствам объекта, который запрашивается сам». Таким образом, обращаясь к запросам, вы можете быть в состоянии упорядочить по возрасту! –
Да, вроде облом, что он не поддерживается изначально. Легкая работа заключается в том, чтобы отсортировать результат самостоятельно после завершения запроса. – danh
спасибо за указателей. действительно, это немного разочаровывает, что Парс не делает этого, в то время как он делает так много замечательных вещей. я попробую несколько вариантов и отчитаюсь здесь. –