Пример 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