Loopback 4 запрашивает связанные с SQL Server таблицы - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь запросить в базе данных SQL Server связанных таблиц и вернуть данные. Что-то вроде человека, адреса и таблицы заказов - все, что связано с personId. Как именно я получу эти данные, используя модели?

1 Ответ

0 голосов
/ 11 декабря 2018

Пример TodoList является демонстрацией для пересечения отношений между моделями. Смотрите репозиторий https://github.com/strongloop/loopback-next/tree/master/examples/todo-list.

И учебник https://loopback.io/doc/en/lb4/todo-list-tutorial.html

В примере установлены два отношения: модель TodoList hasMany Todo и Todo принадлежит TodoList.

Чтобы запросить данные связанной модели, сначала определите свойство отношения todos в хранилище списка задач:

export class TodoListRepository extends DefaultCrudRepository<
  TodoList,
  typeof TodoList.prototype.id
> {
  public readonly todos: HasManyRepositoryFactory<
    Todo,
    typeof TodoList.prototype.id
  >;

  constructor(
    @inject('datasources.db') dataSource: juggler.DataSource,
    @repository.getter(TodoRepository)
    protected todoRepositoryGetter: Getter<TodoRepository>,
  ) {
    super(TodoList, dataSource);
    this.todos = this._createHasManyRepositoryFactoryFor(
      'todos',
      todoRepositoryGetter,
    );
  }
}

Затем вы можете вызвать this.todos (todoListId) .find (фильтр), чтобы запросить экземпляры модели todo с foreignKey, равным этому todoListId.

Посмотрите, как, например, вызывается отношение api в функции контроллера: https://github.com/strongloop/loopback-next/blob/master/examples/todo-list/src/controllers/todo-list-todo.controller.ts#L61

...