Я использую queryWithSubqueries накладывать более одного ограничения следующим образом:синтаксического анализа запроса возвращаются неправильные объекты
func getPosts() {
let getPostsQuery = PFQuery(className: "allPosts")
let getRightPostsQuery = PFQuery(className: "allPosts")
getPostsQuery.whereKey("userId", equalTo: userId) //userId is a string var storing a specific userId
getRightPostsQuery.whereKey("isItRight", equalTo: true)
let combinedQuery = PFQuery.orQueryWithSubqueries([getPostsQuery, getRightPostsQuery])
combinedQuery.limit = 15
combinedQuery.orderByDescending("createdAt")
combinedQuery.findObjectsInBackgroundWithBlock { (posts, error) -> Void in
if let posts = posts {
self.postId.removeAll(keepCapacity: true) //postId is an array to store the postIds
for post in posts {
self.postId.append(post.objectId!!)
}
}
self.tableView.reloadData()
}
}
Я пытаюсь получить все нужные сообщения, размещенные пользователем, как описано его USERID. Я протестировал запрос, используя userId, который ничего не опубликовал. Странно то, что возвращаются объекты, которые не принадлежат этому конкретному пользователю. Затем я попытался использовать userId, который опубликовал что-то, и «неправильные» сообщения также извлекаются (isItRight = false), любые идеи? спасибо
, который был немым от меня, спасибо! теперь это работает –
Я рад, что это сработало для вас, ура! – BlackBox