进行许多逆过程

时间:2018-09-29 19:46:13

标签: swift core-data

我以一对多关系将数据存储在核心数据中,其中一个是父级,许多是子级 我怎么知道我的孩子与哪个父母有亲戚关系? 我知道如何从父母那里取孩子,但是我想要相反的过程。 这是保存数据的代码

let parent = DataController.saveParent(parentData)
let child = DataController.saveChild(ChildData) 
parent.setValue(NSSet(object: child), forKey: "childR")
try? parent.managedObjectContext?.save()

这是我从孩子那里获取父母的方式

let context = DataController.getContext()
let fetchRequest: NSFetchRequest<Parent> = Parent.fetchRequest()
let predicate = NSPredicate(format: "parentR == %@", child!)
fetchRequest.predicate = predicate
print(try! context.fetch(fetchRequest))

1 个答案:

答案 0 :(得分:0)

添加逆关系:

  • 实体SELECT t1.ad_group , t1.visit_date , t1.phone_number , (SELECT count(*) FROM tbl_table t2 WHERE t1.phone_number=t2.phone_number AND t2.visit_date<=t1.visit_date) as number_of_occuvences_within_date FROM tbl_table t1 ORDER BY t1.visit_date

    多对多:Parent,目的地:children,倒数:Child

    NSManagedObject子类中的属性:

    parent
  • 实体@NSManaged var children: Set<Child>

    一对一关系:Child,目的地:parent,倒数:Parent

    NSManagedObject子类中的属性:

    children