考虑我的数据库命名类别中的实体和categoryItems的结构如此
categories
- categoryID
- name
categoryItems
- itemId
- categoryId
- name
- price
显然存储了更多字段,但这只是一个例子。创建包含所有类别项作为其自己的单独对象的新类别对象的最佳方法是什么?寻找更多的一般概念而不是......
例如在Swift中,我会有像这样的对象
class Category {
var name: String
var items: [CategoryItem]
}
class CategoryItem {
var name: String
var price: Float
}
下面是我目前正在做这个的例子,但是如果有3或4个属性需要调用数据库,它似乎是一个糟糕的结构。
ref.child("categories/").observe(FIRDataEventType.value, with: { (snapshot) in
let categories = snapshot.children
while let category = categories.nextObject() as? FIRDataSnapshot {
ref.child("categoryItems/").queryOrderedByValue("categoryID").queryEqualToValue((category.key)).observe(FIRDataEventType.value, with: { (snapshot) in
let categoryItems = snapshot.children
let category = Category()
while let item = categoryItems.nextObject() as? FIRDataSnapshot {
let i = categoryItem(name: item.name, price: item.price)
category["items"].append(i)
}
})
}
})