2017-01-04 6 views
0

Сегодня я немного борюсь, взяв пример, приведенный в документации RealmSwift, то, что я пытаюсь сделать, это найти запрос, который позволит мне получить собак (от объекта собаки), которые имеют только хотя бы один владелец.Список фильтров по обратной связи

class Person: Object { 
    // ... other property declarations 
    let dogs = List<Dog>() 
} 

class Dog: Object { 
    dynamic var name = "" 
    dynamic var age = 0 
    let owners = LinkingObjects(fromType: Person.self, property: "dogs") 
} 

У меня есть этот основной метод:

public class func getDogs() -> Results<Dog>? { 
    do { 
     let aRealm = try Realm() 
     let dogs = aRealm.objects(Dog.self).filter("ANY owners != nil") 
     return dogs 
    } catch { 
     print(error) 
    } 
    return nil 
} 

, но он не так я предполагаю, что мой запрос неверен, хотя мне не удалось найти какую-либо документацию по этому вопросу, любое понимание будет высоко ценится.

+1

Пытались ли вы с 'owners.count> 0'? – Cristik

ответ

1

Вы можете использовать агрегированное выражение, @count. Следующий запрос фильтрует собак, которые имеют в аренду более одного владельца.

let dogs = aRealm.objects(Dog.self).filter("[email protected] > 0") 

Пожалуйста, подробнее см: https://realm.io/docs/swift/latest/#filtering

+0

Не удалось это увидеть, спасибо, это действительно так! –