2017-03-17 7 views
0

私はBack4App(解析)データベースを使用してAndroidアプリを構築しています。 私はPostとPost_likesの2つのクラスを持っています。私は同じクエリ内のpost_likesテーブルから個々の投稿が好きな投稿テーブルからすべての投稿一覧を取得したいAndroid Back4App(解析)複数のクラスからデータを取得

投稿テーブルには、post_id、user_idなどの投稿の詳細があります。 Post_likesテーブルでは、post_idに対応する特定の投稿が好きだったuser_idがあります。今

Post table with post details

Post_likes table with Post_id and user_id

、私はポストのリストと一緒に、特定のポストが好き総ポスト対応するポストの同類とユーザーを取得したいです。

私は特定の投稿の総数を取り出して、ホーム画面の投稿一覧に表示したいと考えています。

したがって、2つのテーブルを結合するクエリを作成する方法。

ご協力いただければ幸いです。

+0

あなたの投稿と投稿後の投稿の関係は何ですか? oneToOne、oneToMany?それがoneToOneの場合、あなたのクエリにポインタを単純に含めることができます – toofoo

+0

1対5の関係です。ポストテーブルでは、私は複数のpost_idを持っています。だから、私は個々のpost_idに基づいてpost_likeテーブルからすべての好きなものを選択したい。 –

+0

back4Appクラス間のポインタを作成して複数のクラスからデータをフェッチする方法を知りたい。 –

答えて

1

DBにポインタ列を定義するには、Back4Appのダッシュボードから、1つのクラスの[編集]ボタンをクリックして新しい列を追加します。 "Pointer"タイプを選択し、コンボリストで指し示すクラス名を選択します。あなたのコードのシンプルで
は、対応するフィールド (のようなものでポインタを追加します。

ParseObject PostLikes aPostLike; 
ParseObject Post thepost 
aPostLike.put("pointedPost", thepost); 

(正確な構文については、マニュアルを参照してください)

あなたがPostLikeの一覧を照会するときは、「where句を追加することができますpointedPost「直接ポインタフィールドに 『』。
はまたポストのコンテンツを含めることができながら、クエリキーワードを持つすべてのPostLikes」を含める「: は(ここではドキュメントを参照してください。 http://parseplatform.org/docs/android/guide/#relational-queriesを):

ParseQuery<ParseObject> query = ParseQuery.getQuery("PostLikes"); 
// Include the post data with each comment 
query.include("post"); 
+0

Parse DBでポインタを設定する必要があります。 –

関連する問題