2017-03-06 32 views
0

我試圖顯示所有用戶的所有事件,但到目前爲止,我只能顯示當前的事件。Swift Firebase - 返回Feed中所有用戶事件的結果

這裏是我的代碼:

self.dbRef.child("user_profiles").child(self.activeUser!.uid).observeSingleEvent(of: .value) { (snapshot: FIRDataSnapshot) in 
      self.activeUserData = snapshot.value as? NSDictionary 

      //Get Events 
      self.dbRef.child("events/\(self.activeUser!.uid)").observe(.childAdded, with: { (snapshot: FIRDataSnapshot) in 

        self.events.append(snapshot.value as! NSDictionary) 




        self.homeTableView.insertRows(at: [IndexPath(row:0, section:0)], with: UITableViewRowAnimation.automatic) 

        self.aivLoading.stopAnimating() 
       } 

      ){(error) in 
       print(error.localizedDescription) 
      } 

     } 

我的火力地堡樹是這個樣子:

events 
    - UserID (user who posted the event) 
     - eventID 
     - eventDetails 

有沒有從所有用戶的顯示所有事件的方法嗎?或者我的數據庫需要重構?如果是這樣,怎麼樣?

回答

0

由於您的火力地堡樹的樣子:

events 
    - UserID (user who posted the event) 
     - eventID 
     - eventDetails 

從所有你需要得到所有的用戶ID的用戶得到的所有事件,那麼你可以簡單地遍歷用戶ID,並得到所有的事件。

或者你可以調整你的火力地堡一樣:

events 
    - eventID 
     - eventDetails 
     - userID (user who posted the event) 

,並在用戶的孩子:

user 
    - userID 
     - events 
     - eventID