2016-09-05 6 views
1

ご迷惑をおかけして申し訳ございません。ここでそれを開発しようとしましょう。 これは私の構造です。私の活動の一つで他のrealmList内にあるrealmListからすべてのrealmObjectsを取得するにはどうすればよいですか?

public class User extends RealmObject{ 
    ... 
    RealmList<Tags> userTags; 
} 

public class Tags extends RealmObject{ 
    ... 
    RealmList<Results> tagResults; 
} 

public class Results extends RealmObject{ 
    ... 
} 

、私は特定のユーザーからすべてのタグとすべて含む結果を取得したいです。例:

user1 -> tag1 -> result1 
       -> result2 
     -> tag2 -> result3 
       -> result4 

結果がresult1、result2、result3、result4になります。

今私は手動で

... 
RealmList<Results> tagResults = new RealmList<>; 
RealmList<Tags> userTags= user1.getTags(); 
for (Tags tag : userTags) 
{ 
    tagResults.addAll(tag.getResults()); 
} 
mRealmAdapter = new RealmResultsAdapter(this, tagResults); 

それをやってそれを手動で行うことなく、所望の結果を得るための他の方法はありますか?事前に

おかげ

答えて

3

EDIT:あなたがこれを行う必要がありますので、3.5.0は、逆の関係を追加レルム:

public class User extends RealmObject{ 
    ... 
    RealmList<Tags> userTags; 
} 

public class Tags extends RealmObject{ 
    ... 
    @LinkingObjects("userTags") 
    private final RealmResults<User> tagOfUsers = null; 

    RealmList<Results> tagResults; 
} 

public class Results extends RealmObject{ 
    @LinkingObjects("tagResults") 
    private final RealmResults<Tags> resultsOfTags = null; 

    ... 
} 

そして

RealmResults<Tags> tags = realm.where(Tags.class).equalTo("tagOfUsers.userId", userId).findAll(); // has results 

PRE- 3.0.0アンサー:

ことに、我々はまだinverse relationships (backlinks)に待っているために、私はあなたの答えの@EpicPandaForceため、この

public class User extends RealmObject{ 
    ... 
    @PrimaryKey 
    long id; 

    RealmList<Tags> userTags; 
} 

public class Tags extends RealmObject{ 
    ... 
    @PrimaryKey 
    long id; 

    User user; 

    @Index 
    long userId; 

    RealmList<Results> tagResults; 
} 

public class Results extends RealmObject { 
    User user; 

    @Index 
    long userId; 

    Tags tag; 

    @Index 
    long tagId; 
    ... 
} 

その後

RealmResults<Results> results = realm.where(Results.class).equalTo("userId", userId).findAll(); 
+0

おかげのようなRealmObjectsを設定するのです。私は似たようなことを考えていた。レルムチームがまだ実装していないのは残念ですが、非常に便利です。あなたの素早い答えにもう一度感謝します。 ;) – user274051

+0

うん、現在進行中のものがObjectStoreの統合、マルチプロセスサポートされ、その後、きめの細かい通知:)個人的に私はいくつかの 'RealmList を'大好きだ、とそのバック後うん – EpicPandaForce

+0

いいだろう、I RealmList も見たいと思っています。今、自分のrealmStringオブジェクトを使用しています。再度、感謝します。 – user274051

関連する問題