ユーザーに製品を表示している Parse SDK を使用して xcode で簡単なクエリを実行しようとしていますが、既に「気に入った」製品を表示したくありません。
したがって、私が使用している Parse には 2 つのテーブルが
あり
ます。
私のコードは次のとおりです。
//query will get products that the user has liked
PFQuery *likeQuery = [PFQuery queryWithClassName:@"Likes"];
[likeQuery whereKey:@"User_Obj" equalTo:[PFUser currentUser]];
//product query will get products that are not in like query
PFQuery *prodQuery = [PFQuery queryWithClassName:@"Products"];
[prodQuery whereKey:@"objectID" doesNotMatchKey:@"Product" inQuery:likeQuery];
//restrict to 10 items
[prodQuery setLimit:10];
[prodQuery findObjectsInBackgroundWithTarget:self
selector:@selector(getCallback:error:)];
ただし、これを実行しようとすると、そのユーザーが以前に気に入ったアイテムが返されます。
これを SQL で行う場合、次のように記述します。
SELECT product FROM product WHERE product NOT IN (SELECT product FROM likes WHERE useriD = currentUser AND like = yes)
どんな助けでも大歓迎です!
ありがとう、ティム