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标签。这意味着任何产品及其位置都可能与多个标签关联。无论你做什么,当你选择一个产品时,它都可能与具有多个不同名称的标签相关联。您显示的查询将返回至少有一个标签的所有产品,其标签名称无论是“标签”。它是匹配搜索的那个。它似乎很可能与其他标签相关联,并且这些标签将具有不同的名称。 –