[英]How to get Query ordered by colum in linked object in Parse.com?
I have object Invitation
and linked object Event
我有对象Invitation
和链接对象Event
I want to get last 10 objects of Invitation
where Event.date
is ordered by Descending 我想获得Invitation
最后10个对象,其中Event.date
由Descending排序
I'm doing this , but it doesn't work: 我正在这样做,但是不起作用:
ParseObject parseUser = user;
ParseQuery eventQuery = ParseQuery.getQuery("Event");
eventQuery.whereLessThan("date", new Date());
eventQuery.orderByDescending("date");
eventQuery.setLimit(10);
ParseQuery<ParseObject> invitationQuery = ParseQuery.getQuery("Invitation");
invitationQuery.whereEqualTo("user", parseUser);
invitationQuery.whereMatchesQuery("event", eventQuery);
List<ParseObject> list= invitationQuery.find();
Try this one: Try first query for the top 10 events. 试试这个:尝试首先查询前10个事件。 Then exec a new query on invitations where event is one of the ids you find in the first query 然后对邀请执行新查询,其中event是您在第一个查询中找到的ID之一
ParseQuery eventQuery = ParseQuery.getQuery("Event");
eventQuery.whereLessThan("date", new Date());
eventQuery.orderByDescending("date");
eventQuery.setLimit(10);
eventQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
ArrayList<ParseObject> eventsIds = new ArrayList<ParseObject>();
if (e == null) {
for (ParseObject event : objects) {
eventsIds.add(ParseObject.creatWithoutData("event",event.getObjectId()));
}
ParseQuery<ParseObject> invitationQuery = ParseQuery.getQuery("Invitation");
invitationQuery.whereEqualTo("user", parseUser);
invitationQuery.whereContainedIn("event", eventIds);
invitationQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
//Do whatever you want with your events
}
}
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.