gpt4 book ai didi

ios - 多个 whereKey :doesNotMatchKey:inQuery: in one query

转载 作者:行者123 更新时间:2023-11-28 17:52:42 25 4
gpt4 key购买 nike

我在 Friendship 类中使用 fromUsertoUser 键对用户友谊进行排序。当我只想返回与 currentUser 没有友谊的用户时,我想使用两个 whereKey:doesNotMatchKey:inQuery: 来排序当前的友谊。

PFQuery *query = [PFUser query];
[query whereKey:@"objectId" notEqualTo:[PFUser currentUser].objectId];
[query whereKey:@"username" hasPrefix:string];

PFQuery *fromFriends = [PFQuery queryWithClassName:parseFriendshipClassName];
[fromFriends whereKey:parseFriendshipFromUserKey equalTo:[PFUser currentUser]];
-> [query whereKey:@"objectId" doesNotMatchKey:parseFriendshipToUserIdKey inQuery:fromFriends];

PFQuery *toFriends = [PFQuery queryWithClassName:parseFriendshipClassName];
[toFriends whereKey:parseFriendshipToUserKey equalTo:[PFUser currentUser]];
-> [query whereKey:@"objectId" doesNotMatchKey:parseFriendshipFromUserIdKey inQuery:toFriends];

如果我注释掉这两行中的任何一行,另一行将按预期工作,但如果它们都存在,则只有最后一行工作。

在 Friendship 表中,用户被引用为指针和他们的 objectId。我在这里使用 objectId 来引用它们,所以这不是因为我将指针与 id 进行比较。

文档似乎没有暗示,添加多个会覆盖旧的。

这是预期的行为吗?还是我做错了什么?

最佳答案

在这种情况下,您应该使用 orQueryWithSubqueries:。它应该可以解决这个问题。

关于ios - 多个 whereKey :doesNotMatchKey:inQuery: in one query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27441184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com