2016-07-18 6 views
0

現在のユーザーのメンバーであるグループを取得しようとしています。リレーションからオブジェクトを取得する

私は多くのことを試みましたが、解析はnullを返しています。

let innerQuery = PFUser.query() 
let currentUser = PFUser.currentUser() 
innerQuery?.whereKey("objectId", containedIn: [currentUser!.objectId!]) 
let query = PFQuery(className: "Group") 
query.orderByDescending("updatedAt") 
query.whereKey("members", matchesQuery: innerQuery!) 

query.findObjectsInBackgroundWithBlock { (groups, error) in 
      print(error) 
      print(groups) 
     } 
+0

あなたがしようとしていることを考え出すのは非常に難しいです。 –

+0

ユーザーがすでにメンバーのグループを取得しています –

+0

また、私はこの行を返すことがあるときに、 query.whereKey( "members"、equalTo:currentUser!) –

答えて

0

は完全innerqueryを退治してみて、ちょうど query.whereKey使用( "メンバー"、equalTo:!!OBJECTIDをPFUser.currentUser())

あなたはOBJECTIDを照会したいと仮定すると、あなたのメンバークラスの現在のユーザーのインナークエリーで両方の行を削除してください

+0

というリレーションを使用しました。 –

+0

メンバークラスのobjectIdでユーザーを保存していますか?最初の3行を取り除き、残りの行を実行します。このように:みましょうクエリ= PFQuery(クラス名: "グループ") query.orderByDescending( "updatedAt") query.whereKey( "メンバー"、equalTo:PFUser.currentUser()!OBJECTID!) query.findObjectsInBackgroundWithBlock { (グループ、エラー) 印刷(エラー) 印刷(グループ) } – jsw324

+0

グループテーブルには、ユーザーのobjectIdによって作成されたメンバー列がありますか?そうでない場合は、クエリが間違っています。通常、メンバテーブルには、ユーザのobjectIdを格納する 'objectId'という名前のカラムがあります(この場合、query.whereKey( "objectId"、equalTo:PFUser.currentUser()。objectId)。 - テーブル名が "メンバーは "PFQuery(className:"グループの代わりにメンバー ")のグループのメンバーを交換します。グループテーブルのメンバーの列 – jsw324

関連する問題