在Firebase数据库Swift 3中访问多层嵌套子级 [英] Accessing MultiLevel Nested Children in Firebase Database Swift 3

查看:76
本文介绍了在Firebase数据库Swift 3中访问多层嵌套子级的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Firebase实时数据库.

I am using Firebase Realtime Database.

我有一个与客户表相对应的客户ID.我需要获取其各自的公寓名称.然后在公寓表中搜索具有相同公寓名称的记录.找到后,我需要从其各自的段中获取所有serviceType值.还需要从公寓表中获取其块.

I have a customer id which corresponds to customer table. I need to fetch its respective apartment name. Then search the record having same apartment name in apartment table. Once found, I need to get all serviceType values from its respective segments. Also need to fetch its block from apartment table.

表结构如下:

customer
  -L1x2AKUL_KNTKXyza
    apartment_name:"ABC Residency"


appartment
  -L1Ohec4nW-ya_SkiG49
    apartment_name:"ABC Residency"
    block: "A Wing"
    segments
      -L1OhecGtEk_8xdNs67T
        serviceType:"Mopping"
      -L1OhecGtEk_8xdNs631
        serviceType:"Cleaning"

我只想使用一个Firebase数据库引用对象并实现这种多级访问.

I want to use only one firebase database reference object and achieve this multilevel access.

任何帮助将不胜感激!

推荐答案

这应该对您有所帮助.我创建了一个名为CRUD的类来执行我所有的firebase功能.

This should help you. I've created a class called CRUD to perform all of my firebase functions.

import Firebase

/**
 CRUD Object to maintain Firebase DB
 - MUST use crud.creatRef() before any save or read functions!!
 */
class CRUD: NSObject {
    var ref: DatabaseReference!
    var id: String!

    /**Create FirebaseDB reference for use of CRUD Object to interact with DB*/
    func createRef() {
        id = PageDataSource.sharedInstance.myID!
        ref = Database.database().reference(fromURL: "https://yourURL.firebaseio.com/")
    }

}

调用CRUD在应用程序中保存或加载数据时,我必须这样做:

When calling CRUD to save or load data within my app I have to do this:

let crud = CRUD()
crud.createRef()
crud.doSomething()

我在这方面取得了巨大的成功.您需要设计模型并相应地实现其余代码.创建保存功能时,它们应放在CRUD对象中.

I've had great success with this. You'll need to design your model and implement the rest of the code accordingly. When you create your save functions they should go inside of the CRUD object.

这篇关于在Firebase数据库Swift 3中访问多层嵌套子级的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆