1
我想從子表訪問父表中的字段。Realm數據庫中的雙向鏈接
public class Product extends RealmObject {
@SerializedName("location")
private String locationInStore;
@SerializedName("tags")
private RealmList<Tag> productTags;
}
和
public class Tag extends RealmObject {
@PrimaryKey
private String name;
}
}
現在我來搜索變量表名稱,然後我必須表明已符合該標籤的搜索和位置的名稱。
RealmResults<Tag> name = mRealm.where(Tag.class).contains("name", tag, Case.INSENSITIVE).findAll();
但是,這給了我唯一的標籤名稱,我怎樣才能訪問它的位置和其他屬性。
我也試過
List<RealmResults<Product>> results = new ArrayList<>();
results.add(mRealm.where(Product.class).contains("productTags.name", tag, Case.INSENSITIVE).findAll());
上面的查詢返回我的產品對象,但該產品的對象包含標籤陣列不是已經符合搜索的一個。
在此先感謝
'名單>結果= new ArrayList <>();'爲什麼? –
EpicPandaForce
@EpicPandaForce因爲我的完整查詢是 results.add(mRealm.where(Product.class).equalTo(「productTags.name」,tag,Case.INSENSITIVE).findAll ());(「productTags.name」,tag,Case.INSENSITIVE).notEqualTo(「productTags.name」,標記,Case.INSENSITIVE).findAll())結果.add(mRealm.where(Product.class).beginsWith ; (「productTags.name」,tag,Case.INSENSITIVE).not()。startsWith(「productTags.name」,tag,Case.INSENSITIVE).notEqualTo(mRealm.where(Product.class).contains 「productTags.name」,tag,Case.INSENSITIVE).findAll()); – swati
你的問題讓我困惑。您有產品* - > 1標籤。這意味着任何產品及其位置都可能與多個標籤關聯。無論你做什麼,當你選擇一個產品時,它都可能與具有多個不同名稱的標籤相關聯。您顯示的查詢將返回至少有一個標籤的所有產品,其標籤名稱無論是「標籤」。它是匹配搜索的那個。它似乎很可能與其他標籤相關聯,並且這些標籤將具有不同的名稱。 –