Angular 6 - Как объединить объект БД с подпиской - PullRequest
0 голосов
/ 28 августа 2018

Я работаю самостоятельно над приложением с Angular 6 / Flask. В настоящее время я сталкиваюсь с проблемой, и я не могу найти ничего, что подходит для этого в Интернете. Вот моя проблема:

У меня есть 3 модели: проект, консультант и клиент. Для упрощения, у Проекта есть идентификатор Консультанта и Клиента, а также две даты. Что я хочу сделать, это:

  1. Получить список всех моих проектов
  2. Повторять этот список для обработки каждого проекта
  3. Получить консультанта с его идентификатором
  4. Получить клиента с его идентификатором
  5. Установить объект с Консультантом, Клиентом и двумя датами
  6. Добавить проект в список
  7. Показать список

Фактически, моя цель здесь - показать информацию о Консультанте и Клиенте по каждому проекту, поэтому мне нужно получить объект, а не только их идентификатор. Поэтому я попытался сделать что-то из того, что нашел:

ngOnInit() {
this.projectsListSubs = this.projectsApi
  .getProjects()
  .flatMap(params => {
      params.forEach(elem => {
      this.project.start_date = elem.start_date;
      this.project.end_date = elem.end_date;
      return  [this.consultantsApi.getConsultant(elem.consultant_id),this.clientsApi.getClient(elem.client_id)]
    }
    this.dataSource = new MatTableDataSource(this.dataList);
  })
  .subscribe(params => {
    this.project.consultant = params[0].firstName + " " + params[0].lastName;
    this.project.client = params[1].name;
    this.dataList.push(this.project);
  });

}

Конечно, это не работает. Я думаю, что этот код является мусором, и я не могу найти правильный способ управления этим делом Не могли бы вы помочь мне в этом?

Заранее спасибо.

...