Hi, I have a chat log in my app that currently shows all messages for the user when I drill into the main message.
So for instance, kind of like this:
Item1 messages = Message1 for Item1 by User1 + Message2 for Item 2 by User1 + Message 3 for Item 3 by User1
I would like to do the following:
Item1 messages = Message1 for Item1 by User1
Item2 messages = Message2 for Item2 by User1
Item3 messages = Message3 for Item3 by User1
I have added a Filter column with UserID_ItemID see my code:
theFilter = event.addedBy+"_"+event.key
//test value that matches
theFilter = "OU2pqczlpDOx4KBMSOSlj82cmv02_FB95F2E3-9F45-4295-86E2-0B78EA5F5C48"
print("the Filter: \(theFilter)")
let userMessageRef = Database.database().reference().child("item-messages").child("user-messages").child(uid)
userMessageRef.observe(.childAdded, with: { (snapshot) in
let messageId = snapshot.key
let messagesRef = Database.database().reference().child("messages").child(messageId)
var query = messagesRef.queryOrdered(byChild: "theFilter").queryEqual(toValue: self.theFilter)
query.observeSingleEvent(of: .value, with: { (snapshot) in
guard let dictionary = snapshot.value as? [String: AnyObject] else {
return
}
let message = Message(dictionary: [:])
message.setValuesForKeys(dictionary)
if message.chatPartnerId() == self.user?.id{
self.messages.append(message)
DispatchQueue.main.async(execute: {
self.collectionView?.reloadData()
})
}
}, withCancel: nil)
}, withCancel: nil)
}
I am not getting any error just no messages being shown?!
any help is much appreciated here