I have a table with a column which is pinter to _User. I want to check one string is equal to the user id I have in my table.

In this example I want to check if iSMSxjAnvJ is equal to user column.
Here is my code:
PFQuery *query2 = [PFQuery queryWithClassName:@"Friends"];
[query2 whereKey:@"user" equalTo:self.friendID];
[query2 findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (PFObject *friendRecord in objects) {
// do something with a single example object here.
}
}];
But I get this error:
[Error]: pointer field user needs a pointer value (Code: 102, Version: 1.7.5)
I need to change this pointer value to string type to do comparison. One way is to query my user table and get string value. Is there any better way?
The operand of equalTo: for a pointer column is a PFObject, either a complete object or an empty PFObject with just an objectId (a "pointer" in parse world). In other words, say you have a a real PFUser object...
PFUser *friend = // imagine you have this somehow.
To test whether a Friend instance's user is friend, just say...
PFQuery *query2 = [PFQuery queryWithClassName:@"Friends"];
[query2 whereKey:@"user" equalTo:friend];
But what if you don't have a object? Like the name friendId implies, what if you only have an objectId string? Two answers:
Short answer: Make the objectId into a pointer...
PFUser *friendPointer = [PFUser objectWithoutDataWithClassName:@"_User" objectId:self.friendID];
PFQuery *query2 = [PFQuery queryWithClassName:@"Friends"];
[query2 whereKey:@"user" equalTo:friendPointer];
Long answer: starts with a question: why do you have only the object id, why don't you have a real object? Change the friendId (string) column on self to a friend column (pointer to _User). Then...
// put a column called friend on self. Make it a pointer to _User
PFUser *friend = self.friend; // we imagined this before, now its real!
PFQuery *query2 = [PFQuery queryWithClassName:@"Friends"];
[query2 whereKey:@"user" equalTo:friend];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With