Получение вложенных детей из базы данных Firebase - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь заполнить табличное представление значениями из моей базы данных Firebase.Я смог использовать queryOrdered в корне моей базы данных, чтобы получить требуемые дочерние элементы, как показано здесь:

func oneTimeInit() {
        databaseRef?.queryOrdered(byChild: "Seasons").observe(.value, with:
            { snapshot in
                for item in snapshot.children {
                    self.seasons.append(Season( snapshot: item as! DataSnapshot))
                }
                self.seasonsTableView.reloadData()
        })
    }

Но теперь я пытаюсь получить дочерние элементы следующего узла в моей базе данных.Я попытался сделать это, вызвав queryOrdered для дочернего элемента корня, но я не получаю никаких данных.Вот мой код:

func oneTimeInit() {
        databaseRef?.child("Seasons").queryOrdered(byChild: season.name).observe(.value, with:
            { snapshot in
                for item in snapshot.children {
                    print("ITEM VALUE: \(item)")
                    self.races.append(Race(snapshot: item as! DataSnapshot))
                }
                self.racesTableView.reloadData()
        })
    }

База данных содержит на своем самом высоком уровне сезоны кросс-кантри, каждый из которых содержит гонки по пересеченной местности, каждый из которых содержит результаты.Я могу заполнить таблицу Seasons, но не таблицу Races и т. Д.

Вот структура Json моей базы данных:

{
  "Seasons" : {
    "XC 2018" : {
      "NCAA DI West Regional" : {
        "Men" : {
          "Results" : {
            "Aaron BRUMBAUGH" : {
              "finishTime" : "31:59.0",
              "lapTimes" : [ "5:05.1", "10:43.3", "11:07.1", "5:03.5" ],
              "name" : "Aaron BRUMBAUGH",
              "position" : "118",
              "splitTimes" : [ "5:05.1", "15:48.4", "26:55.5", "31:59.0" ],
              "team" : "Santa Clara",
              "year" : "SR"
            },
            "Addison DEHAVEN" : {
              "finishTime" : "29:47.8",
              "lapTimes" : [ "4:58.2", "10:14.0", "10:04.1", "4:31.5" ],
              "name" : "Addison DEHAVEN",
              "position" : "7",
              "splitTimes" : [ "4:58.2", "15:12.2", "25:16.3", "29:47.8" ],
              "team" : "Boise State",
              "year" : "SR"
            },
            "Ahmed MUHUMED" : {
              "finishTime" : "30:08.1",
              "lapTimes" : [ "4:58.6", "10:14.6", "10:08.5", "4:46.4" ],
              "name" : "Ahmed MUHUMED",
              "position" : "29",
              "splitTimes" : [ "4:58.6", "15:13.2", "25:21.7", "30:08.1" ],
              "team" : "Boise State",
              "year" : "SO"
            },

На данный момент существует только один "Season"(XC 2018) с одной "Гонкой" (NCAA D1 West Regional).Я пытаюсь получить ссылку на все "Расы" в разделе "Сезон" XC 2018.

Переменная season.name будет содержать значение "XC 2018".Со своим вторым разовым посвящением я пытаюсь посмотреть на детей "XC 2018".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...