3

ユーザーに製品を表示している 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)

どんな助けでも大歓迎です!

ありがとう、ティム

4

1 に答える 1