[英]How to access fields of a pointer's value on parse.com with iOS?
我正在设计一个数据库。 根据文档,当关系数大于100并且有额外的字段时,我必须设计一个Join Table
。 我通过两个指针值设计了这个Join Table
。
_User
。 后来我只需要currUser
行。 objectId
,该表是一个实体。 我的问题是,如何编写查询以在queryfortable
返回此表的queryfortable
。 让我们说:
Table _User
Table Entity
Table Join ---> objectId Pointer1(_User) Pointer2(Event)
看起来像这样:
这是我到目前为止所尝试的:
首先,我尝试在viewDidLoad
中从cloud获取inviteUser数组,然后在queryForTable
中queryForTable
:
PFQuery *query = [PFQuery queryWithClassName:@"Event"];
[query whereKey:@"objectId" containedIn:_inviteList];
但我需要访问_inviteList.objectId这是不可能的!
我试图使用innerQuerry或关系查询。 但是当我刚开始学习解析时,我无法实现这一点。
PFUser *friendPointer = [PFUser currentUser];
PFQuery *query2 = [PFQuery queryWithClassName:@"Event"];
[query2 whereKey:friendPointer containedIn:_inviteList];
return query2;
这对我也没有用。
PFQuery *innerQuery = [PFQuery queryWithClassName:@"Invite"];
[innerQuery whereKey:@"invitedUser" equalTo:[PFUser currentUser]];
query = [PFQuery queryWithClassName:@"Event"];
[query whereKey:@"user" matchesQuery:innerQuery];
return query;
我很感激,如果有人可以帮我写这个查询或重新设计我的表,以便能够访问这个查询。
请试试这段代码并给我评论
PFUser *user = [PFUser currentUser];
PFQuery *query = [PFQuery queryWithClassName:@"Invite"];
[query whereKey:@"invitedUser" equalTo:user];
[query includeKey:@"invitedUser"];
[query includeKey:@"eventId"];
[query orderByDescending:@"updatedAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error)
{
if (error == nil)
{
for (PFObject *underobject in [objects reverseObjectEnumerator])
{
PFUser *user1 = underobject[@"invitedUser"];
NSLog(@"invitedUser is :%@",user1);
}
}
}];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.