2016-10-06 2 views
1

Diese Frage bezieht sich auf die Unfähigkeit, eine Liste der primitiven Typen Problem [1] zu enthalten. Die aktuelle, eher schwach dokumentierte Lösung [2] besagt, ein benutzerdefiniertes RealmString Objekt zu verwenden. Leider zeigt die Lösung nur, wie Sie Werte speichern, wenn Sie RealmString verwenden. Wie kann ein geschachtelter Filter wie im Folgenden ausgeführt werden?Filter-Realm-Ergebnisse nach String-Array-Feld

class Thing extends RealmObject { 
    public RealmList<Tag> tags; 
} 

class Tag extends RealmObject { 
    private String tag; 
    public String getTag() { return tag; } 
    public void setTag(String tag) { this.tag = tag; } 
} 

// how do you perform the search here? equalTo, contains? 
RealmResults<Thing> things = realm.where(Thing.class).equalTo("tags", searchValue).findAll(); 
  1. https://github.com/realm/realm-java/issues/575
  2. What is the best way to use List<String> in Realm Android?

Antwort

1

Link Queries:

RealmResults<Thing> things = realm.where(Thing.class) 
            .equalTo("tags.tag", searchValue) 
            .findAll(); 
+0

Danke für die Hilfe. Das scheint zu funktionieren, aber weil ich viele Tags habe, ist das nicht sehr intuitiv. Ich erwartete '.includes (" tags ", searchValue)' oder etwas Ähnliches. – chris

Verwandte Themen