按嵌套的 RealmList 项的属性过滤
Filtering by nested RealmList item's attributes
我在编写查询来执行我想做的事情时遇到问题 -- 因为我不确定我的知识库是否可行,所以我想我会在这里问一个问题。我知道执行此操作的其他方法,但我正在尝试编写一个查询,使我能够将该查询用作托管对象,我提出的其他解决方案不会提供该功能。问题是:
我有一个 SiteInfo 和 Level 模型,它包含站点以及关联的 Levels:
open class SiteInfo(
var orgId: Int = INVALID_ID,
@PrimaryKey var id: Int = INVALID_ID,
var site: Site = Site(),
var levels: RealmList<Level> = RealmList()) : RealmObject()
open class Level(@PrimaryKey var id: Int = INVALID_ID,
var building: String = "",
var floor: String = "",
var site_id: Int = INVALID_ID,
var floorplan_url: String? = null) : RealmObject()
我正在尝试过滤级别列表不为空的网站,我已经做到了这一点:
realm.where(SiteInfo::class.java).not().isEmpty("levels").findAllAsync()
但是,要使网站有效,至少其中一个级别必须具有非空 floorplan_url。我不确定是否有支持这一点的查询语法。如果有人能让我知道这是否可行,那就太好了——否则我将采用解决方法。
你试过了吗
realm.where(SiteInfo::class.java)
.isNotEmpty("levels")
.isNotNull("levels.floorplan_url")
.findAllAsync()
?
我在编写查询来执行我想做的事情时遇到问题 -- 因为我不确定我的知识库是否可行,所以我想我会在这里问一个问题。我知道执行此操作的其他方法,但我正在尝试编写一个查询,使我能够将该查询用作托管对象,我提出的其他解决方案不会提供该功能。问题是:
我有一个 SiteInfo 和 Level 模型,它包含站点以及关联的 Levels:
open class SiteInfo(
var orgId: Int = INVALID_ID,
@PrimaryKey var id: Int = INVALID_ID,
var site: Site = Site(),
var levels: RealmList<Level> = RealmList()) : RealmObject()
open class Level(@PrimaryKey var id: Int = INVALID_ID,
var building: String = "",
var floor: String = "",
var site_id: Int = INVALID_ID,
var floorplan_url: String? = null) : RealmObject()
我正在尝试过滤级别列表不为空的网站,我已经做到了这一点:
realm.where(SiteInfo::class.java).not().isEmpty("levels").findAllAsync()
但是,要使网站有效,至少其中一个级别必须具有非空 floorplan_url。我不确定是否有支持这一点的查询语法。如果有人能让我知道这是否可行,那就太好了——否则我将采用解决方法。
你试过了吗
realm.where(SiteInfo::class.java)
.isNotEmpty("levels")
.isNotNull("levels.floorplan_url")
.findAllAsync()
?