【发布时间】:2016-10-04 10:51:51
【问题描述】:
我想在领域(java)中建立一个满足这个条件的查询: 所有带有类型 X 和名称如 Y 的标签的书。 这是我的领域类:
class Book extends RealmObject {
public RealmList<Tag> tags;
public int fileType;
public String title;
}
class Tag extends RealmObject {
public Book book;
public int type;
public String name;
}
我必须使用基于 Book 的查询,所以查询必须像这样开始:
realm.where(Book.class)
但我无法根据需要构建查询。 我试过这个:
realm.where(Book.class)
.equalTo("tags.type", X)
.contains("tags.name", Y)
.findAll();
这个查询意味着任何它的 tags.type 等于 X 并且它的任何 tags.name 包含 Y 的书籍。
但我想将这两个条件应用于同一个 Tag 对象。
我该怎么做?
谢谢。
【问题讨论】:
-
嗨hojjat。你能用另一种方式解释这个问题吗?无法弄清楚您到底在寻找什么。据我所知,您当前的查询将返回所有标签类型为 X 的书籍或包含名称 Y 的书籍。
-
将这两个条件应用于同一个标签对象是什么意思?
-
嗨,毗湿奴。谢谢您的回复。我的查询返回标签类型为 X 或标签名称包含 Y 的所有书籍。假设我有一本书有两个标签。像这样的第一个标签 {type = X, name = "test"} 和第二个标签:{type = Z, name = "Y"}。此查询将返回这本书作为结果,但这不是我想要的。我希望这两个条件都适用于同一个标签。
标签: android realm realm-list