添加获取具有一对多关系的核心数据中单列的总和
Add get sum of single column in core data with One to Many Relationship
伙计们,一个简单的问题,我是核心数据的新手,我有两个具有一对多关系的实体,如下所示。
One to Many in Editor Style
所以我在两个实体中都有一个名为 "item_total" 的列,我需要得到父实体中 item_total 列的总和 + 子实体中 item_total 列的总和实体。
让我们说
Table looks like
所以这两者是一对多的关系,我需要求和为 120。
对于 Cart
的单个实例,您可以使用类似
的方式获得其所有 item_total
值的总和
let cartTotal = cart.item_total + (cart.value(forKeyPath: "addON.@sum.item_total") as! Int32)
如果您有一个 Cart
的数组,您可以得到所有 Cart
个实例的上述总和,例如
let overallTtotal = carts.reduce(0, { (previousResult, cart) -> Int32 in
return previousResult + cart.item_total + (cart.value(forKeyPath: "addON.@sum.item_total") as! Int32)
})
伙计们,一个简单的问题,我是核心数据的新手,我有两个具有一对多关系的实体,如下所示。
One to Many in Editor Style
所以我在两个实体中都有一个名为 "item_total" 的列,我需要得到父实体中 item_total 列的总和 + 子实体中 item_total 列的总和实体。
让我们说 Table looks like
所以这两者是一对多的关系,我需要求和为 120。
对于 Cart
的单个实例,您可以使用类似
item_total
值的总和
let cartTotal = cart.item_total + (cart.value(forKeyPath: "addON.@sum.item_total") as! Int32)
如果您有一个 Cart
的数组,您可以得到所有 Cart
个实例的上述总和,例如
let overallTtotal = carts.reduce(0, { (previousResult, cart) -> Int32 in
return previousResult + cart.item_total + (cart.value(forKeyPath: "addON.@sum.item_total") as! Int32)
})