J'utilise Royaume pour Swift et j'ai une structure comme suit:filtre retourne tous les enfants pour parent avec enfant correspondant à
class Navigation: Object {
dynamic var key = 0
dynamic var title: String?
let companies = List<Companies>()
override static func primaryKey() -> String? {
return "key"
}
}
class Companies: Object {
dynamic var key = 0
dynamic var name: String?
let locations = List<Locations>()
override static func primaryKey() -> String? {
return "key"
}
}
class Locations: Object {
dynamic var key = 0
...
dynamic var zip: String?
let contacts = List<Contacts>()
override static func primaryKey() -> String? {
return "key"
}
}
class Contacts: Object {
dynamic var key = 0
dynamic var firstName: String?
dynamic var lastName: String?
...
override static func primaryKey() -> String? {
return "key"
}
}
J'essaie de filtrer les endroits par code postal, de sorte que seul les emplacements correspondant au code postal donné sont affichés. Je fais ça comme ça
companies = realm.objects(Navigation.self).filter("key = 4").first!.companies.filter(predicate).sorted(byKeyPath: "key")
Le bit key = 4
est parce que le filtre n'est censé rechercher dans les entreprises dans une catégorie spécifique.
Le problème que je vais avoir est qu'il retourne tous les emplacements pour une entreprise qui a un emplacement correspondant. Donc, si mon code postal à trouver est 12345, et que companyA a un emplacement correspondant, tous les emplacements sous companyA sont renvoyés, même s'ils ne correspondent pas.
Comment puis-je limiter les résultats à seulement emplacements avec une correspondance?
je pouvais travailler avec, mais idéalement, je voudrais qu'elle ait aussi les entreprises qui « propre » la emplacements, de sorte que l'utilisateur sache quelle entreprise ils regardent. Il y a beaucoup d'endroits nommés de la même manière, comme "Bureau principal". –
facile: 'locationsIn12345AndNavigationKey4.flatMap {0.parentCompanies $}' – jpsim
Pourriez-vous rendre ce code plus convivial? Est-ce censé être la chaîne qui va dans le filtre sont ces appels de fonction réels? Je suppose que cela devrait également être fait avec les relations inverses? –