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. Является ли целью "Друзей" представление отношений между двумя пользователями?

Другие вопросы по тегам