使用两个PFUser对象查询对象时,如何更新Parse中的值?

问题描述 投票:0回答:1

我是iOS和Parse的新手。现在我正在尝试使用Parse在iOS中创建社交网络应用程序。在我的应用程序中,我正在创建一个允许用户与其他人建立连接的朋友系统。

假设有用户向当前用户发送了请求,并且请求已成功接收。为了确认请求,我使用两个PFUser对象(当前用户[PFUser currentUser])和发送请求(PFUser *user1)的用户查询该类。然后,我将状态从Request更新为Confirm,以便我可以在这两个用户之间建立连接。

这是代码:

PFQuery *connectActivity = [PFQuery queryWithClassName:FriendClass];
[connectActivity whereKey:@"fromUser" equalTo:user1];
[connectActivity whereKey:@"toUser" equalTo:[PFUser currentUser]];
[connectActivity whereKey:@"status" equalTo:@"Request"];
[connectActivity getFirstObjectInBackgroundWithBlock:^(PFObject * _Nullable object, NSError * _Nullable error) {
      if (!error) {
             [object setObject:@"status" forKey:@"Confirm"];
             [object saveInBackground];
      }
}];

但是,当我运行代码时,它向我显示Cannot set fromUser on FriendClass to a user other than current user. (Code:141)的错误,并且它没有任何结果。我没有这个错误的线索。

有人知道它为什么会发生以及如何使其发挥作用?非常感谢!

ios parse-platform
1个回答
0
投票

我愿意打赌你有一个用于FriendClass的beforeSave触发器,它会检查是否来自于User == request.user,如果没有则回吐该错误。您可以将其包装在检查object.dirty("fromUser")的if语句中

© www.soinside.com 2019 - 2024. All rights reserved.