Joa*_*aza 1 subquery realm ios swift swift3
我有一个这样的模型:
\n\nclass CalendarEvent: Object, Mappable {\n\n\ndynamic var exId = ""\n@objc dynamic var title:String = ""\n@objc dynamic var desc:String = ""\ndynamic var fullDate = Date()\ndynamic var date = ""\ndynamic var time = ""\ndynamic var location = ""\ndynamic var subcategory:Subcategory?\ndynamic var update = false\nvar participants = List<Participant>()\n}\n\nclass Category:Object, Mappable{\ndynamic var exId = ""\n@objc dynamic var name="";\nvar subcategories = List<Subcategory>()\n}\n\nclass Subcategory:Object, Mappable{\ndynamic var exId = ""\ndynamic var name = ""\nlet category = LinkingObjects(fromType: Category.self, property: "subcategories")\ndynamic var active:Bool = true\ndynamic var update = false\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我需要知道哪些 CalendarEvents 来自某个类别,何时来自子类别,我可以这样做:
\n\nvar results = realm.objects(CalendarEvent.self)\nresults = results.filter("ANY subcategory.exId == %@", subcategory!.exId)\nRun Code Online (Sandbox Code Playgroud)\n\n但是,当我需要获取按类别过滤的 CalendarEvents 时,我不知道该怎么做。我查看了解决方案,但没有找到 \xc2\xb4t 任何地方。请帮忙!
\n作为记录,我找到了解决方案。它很简单,您需要细分查询和链接,然后使用“IN”。例如:
\n\nlet resultsSubcategory = realm.objects(Subcategory.self).filter("ANY category.exId == %@", category?.exId)\n results = results.filter("subcategory IN %@", resultsSubcategory) \nRun Code Online (Sandbox Code Playgroud)\n