バックエンドレスにテーブル Places があり、フィールド Events (別のテーブルとの関係) があります。Events テーブルには、Places テーブルと関係を持つフィールド Places があります。というわけで、Place フォームの Event オブジェクトを取得したいと思います。Events オブジェクトを読み込もうとすると、Place フィールドが読み込まれません。では、どうすればいいですか?私が言いたいことをより明確にするために画像を添付しました)
1 に答える
3
あなたの関係は本当に一方向です。コンソールを見るとわかりにくいかもしれませんが、関係は Places から Events になります。コンソールが Events テーブルを表示すると、"Places.events" は "child of" 関係であることが示されます。これは参考用であり、イベント スキーマの一部ではありません。
それでも、関連する Events オブジェクトを指定して、関連する Place オブジェクトをロードすることは可能です。これは、クエリベースの検索を使用して行うことができます。Java のサンプル コードを次に示します (使用する言語に関係なく、クエリの構文は同じになります)。
BackendlessDataQuery query = new BackendlessDataQuery();
query.setWhereClause( "events.objectId = 'C4C02F1A-38B3-63F2-FFEB-41C02EF25700'" );
BackendlessCollection<Places> places = Backendless.Data.of( Places.class ).find( query );
Iterator<Places> iterator = places.getCurrentPage().iterator();
while( iterator.hasNext() )
{
Places p = iterator.next();
System.out.println( p.objectId );
}
クエリは"events.objectId = 'C4C02F1A-38B3-63F2-FFEB-41C02EF25700'"であることに注意してください。ここで、参照されるオブジェクト ID は Event オブジェクトの 1 つです。リクエストは Places テーブルに対して実行されるため、クエリは文字通り、「関連する「events.objectId」が指定された値であるすべての Places オブジェクトを検索する」ことを意味します。
お役に立てれば。
于 2015-02-15T03:00:22.230 に答える