web-dev-qa-db-ja.com

解析:ネストされたポインターをクエリに含める

私のアプリには次の構造があります。

MessageRecipients -> Message -> User 
                     Message -> Activity

ここで、->はポインタを表します。メッセージが各受信者によって読み取られたかどうかをキャプチャする必要があるため、メッセージとメッセージ受信者のテーブルを分離しました。

私がやりたいクエリは、受信者へのすべてのメッセージを見つけることです。したがって、MessageRecipientsクエリにメッセージを含める必要がありますが、ネストされたUserオブジェクトとActivityオブジェクトも含めたいと思います。

var MessageRecipient = new Parse.Query('MessageRecipient');
messageQuery.equalTo('recipient', query.recipient);
messageQuery.include('message');

メッセージは、アクティビティと送信者が入力されていない状態で返されます。 messageQuery.include( 'activity')を呼び出そうとしましたが、アクティビティが正しいテーブルにないため、機能しませんでした。

このクエリを実行する方法はありますか、それともネストされたオブジェクトに対して個別のクエリを実行する必要がありますか?

20
rorymadden

これらのサブサブオブジェクトも含める必要があります。

messageQuery.include('message');
messageQuery.include('message.user');  // if user is the column name
messageQuery.include('message.activity'); // if activity is the column name
32
Fosco

これは1行で実現することもできます。

messageQuery.include( ["message", "message.user", "message.activity"] );
17
Niraj Shah