我有两个RLMObject,我创建了一对多的关系。我想对此运行连接查询,因此它应该返回所有类别,每个类别仅包含付费项目。
class Category: Object {
dynamic var title = ""
let items = List<Item>()
}
class Item: Object {
dynamic var name = ""
dynamic var cost = 0.0
dynamic var isPaid = false
dynamic var category: Category?
}
我使用此代码但它仍会返回所有类别和所有项目,包括非付费项目
let categories = realm.objects(Category.self).filter("ANY items.isPaid = %@", true)
我认为原因是如果某个类别中的一个/多个项目具有isPaid = true,则此类别将添加到结果&lt;&gt;中。我想要达到的目的就像下面的例子中那样
让我们在数据库中说
category[0] has item[0].isPaid = true, item[1].isPaid = false
category[1] has item[0].isPaid = true, item[1].isPaid = true
我想要结果&lt;&gt;应该包含
category[0] has item[0].isPaid = true
category[1] has item[0].isPaid = true, item[1].isPaid = true