我在编写查询以执行我想要的操作时遇到问题 - 因为我不确定从我的知识库中是否可以这样做,我想我会在这里问一个问题。 我知道其他方法可以做到这一点,但我正在尝试编写一个查询,使我能够将该查询用作托管对象,我提出的其他解决方案不会提供这一点。 问题是这样的:
我有一个站点信息和级别模型,它包含站点以及关联的级别:
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()
但是,要使站点有效,其至少一个级别必须具有非 null floorplan_url。 我不确定是否有查询语法可以支持这一点。 如果有人能让我知道这是否可能,那就太好了 - 否则我会去解决方法。
你试过吗
realm.where(SiteInfo::class.java)
.isNotEmpty("levels")
.isNotNull("levels.floorplan_url")
.findAllAsync()
?