我在编写查询以执行我想要的操作时遇到了问题 - 因为我不确定它是否可以从我的知识库中获得,我想我在这里问一个问题。我知道其他方法可以做到这一点,但我试图编写一个查询,这将导致我能够将查询用作托管对象,我已经提出的其他解决方案赢得了提供。这就是问题所在:
我有一个SiteInfo和Level模型,它保存了网站以及相关的级别:
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。我不确定是否有支持此功能的查询语法。如果有人能告诉我这是否可能,那就太棒了 - 否则我就会解决这个问题。
答案 0 :(得分:0)
你试过吗
realm.where(SiteInfo::class.java)
.isNotEmpty("levels")
.isNotNull("levels.floorplan_url")
.findAllAsync()