Я использую Parse.com для своей базы данных приложений для Android.Parse.com Запрос на значение указателя
Короче говоря, я запрашиваю класс A, который имеет поле, указывающее на класс B. Если я запрашиваю класс A и включаю класс B, в любом случае у меня может быть фильтр запросов и/или сортировка по полю в классе B?
Я больше знаком с db типа sql, что может стать очевидным из моего описания. В parse у меня есть таблица для людей, приглашенных в игру «gameInvitees» с некоторыми метаданными, например, когда они были приглашены и их статус rsvp. Затем отдельная таблица с играми «gameInstances». В «gameInvitees» есть указатель на игру, в которую они приглашены, и приглашенный пользователь синтаксического анализа.
Моя проблема заключается в том, что я пытаюсь запросить таблицу «gameInvitees», чтобы найти текущих пользователей, приглашенных в игру на основе игрового времени, которое находится в таблице «gameInstance».
Мой текущий код выглядит примерно так:
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.HOUR, -1);
final Date oneHourBack = cal.getTime();
// get games that the current user is invited to
ParseQuery<GamePhaseInvitees> inviteeQuery = ParseQuery.getQuery("gameInvitees");
inviteeQuery.whereEqualTo("inviteeAccount", ParseUser.getCurrentUser()); // current user is invited
inviteeQuery.include("GameInstance");
// inviteeQuery.whereGreaterThanOrEqualTo("GameInstance.GameTime", oneHourBack); // game is one hour back (but, this doesn't work)
inviteeQuery.findInBackground(new FindCallback<GamePhaseInvitees>() {
public void done(List<GamePhaseInvitees> gamesInvitedToList, ParseException e) {
if (e == null) {
} else {
}
}
});
Этот код немного упрощен, чтобы объяснить проблему. В основном мне нужно выяснить, что я могу сделать с этой прокомментированной строкой, чтобы запросить поле, которое связано с указателем. Это возможно? Существуют ли для этого какие-то чистые решения?
Как выглядит ваш журнал как ваша ошибка? Одна потенциальная проблема, которую я могу себе представить, заключается в том, что «Calendar.getInstance» создается в вашем приложении, а не в базе данных, поэтому в базе данных может быть несколько другое время (возможно, на несколько миллисекунд). – erad
Я думаю, проблема связана с прокомментированной линией. Когда я раскомментирую его, я получаю: «Точечная нотация может использоваться только для объектов». Я пробовал это с помощью только «gameTime», но, который не возвращает никаких результатов, которые я предполагаю без точечной нотации, условие применяется к неправильной таблице. Поэтому я просто пытаюсь выяснить, как я могу сделать условный запрос для объекта, который прикреплен указателем. Это возможно? Таблица базы данных хороша, хотя –