Coredata嵌套关系检索数据

时间:2017-04-10 13:51:49

标签: ios swift entity-framework core-data swift3

我有以下实体:

订单< - >> OrderLines<< - >产品

订单实体有一个' orderNo '与' orderNo '具有一对多关系的属性OrderLines中的属性。 OrderLines 实体与产品实体具有多对一关系。

enter image description here

我想传递客户代码并检索我们之前订购的产品实体中的所有产品。

我尝试了以下谓词搜索,但没有占上风:

let pred : NSPredicate = NSPredicate(format: "orderlines.order.customer = %@", customer)

我也试过

    let pred : NSPredicate = NSPredicate(format: "ANY orderlines.order.customer = %@", customer)

我经常遇到错误:

Can not map from a to-many to a to-one relationship

有什么建议吗?

更新

检索数据的代码是:

 static func repeatsList(customer: String) -> NSArray{
    let ordersRequest : NSFetchRequest<Products> = Products.fetchRequest()
    let pred : NSPredicate = NSPredicate(format: "ANY SELF.line.order.invoicecustomer == %@", customer)
    ordersRequest.predicate=pred
    do{
        let repeatsArray = try GlobalHelpers.getContext().fetch(ordersRequest)
        return repeatsArray as NSArray
    }catch let error as NSError {
        let empty : NSArray = [error]
        return empty
    }
}

0 个答案:

没有答案