PFQueryTable с использованием подзапроса, не возвращающего результаты в Swift
У меня есть проект Swift, использующий Parse, и я использую PFQueryTable для заполнения таблицы ячейками-прототипами. Ниже мой раздел queryForTable для запроса данных, которые меня интересуют. Мой основной запрос - для класса под названием "Friends", в котором есть столбец указателя с именем user, указывающий на класс "User". Также в классе "Друзья" есть столбец под названием friendId, который также указывает на "Пользователь"
Я хочу получить записи в классе "Друзья", где мой friendId равен моему текущему пользователю, а утвержденный флаг равен true.
Как только у меня появятся эти записи, я буду извлекать записи "Пользователь", в которых есть checkInTime, в течение последнего часа или что бы я ни установил. Прямо сейчас я просто пытаюсь вернуть записи, которые соответствуют моим первым критериям, и показываю имя пользователя из класса "Пользователь" в моей таблице.
override func queryForTable() -> PFQuery {
let friendsListQuery = PFQuery(className: "Friends")
friendsListQuery.whereKey("friendId", equalTo: PFUser.currentUser()!)
friendsListQuery.whereKey("approved", equalTo: true)
let checkInQuery = PFUser.query()
checkInQuery!.whereKey("objectId", matchesKey: "user", inQuery: friendsListQuery)
return checkInQuery!
}
В настоящее время запросы не возвращают никаких записей. Есть идеи?
1 ответ
Вопрос здесь
checkInQuery!.whereKey("objectId", matchesKey: "user", inQuery: friendsListQuery)
ключ objectId не может совпадать с указателем пользователя.
С точки зрения решения, которое будет зависеть от структуры ваших классов Parse. Является ли целью "Друзей" представление отношений между двумя пользователями?