回送4查询SQL Server相关表

时间:2018-11-02 22:41:16

标签: sql-server loopbackjs v4l2loopback

我正在尝试查询相关表的SQL Server数据库并返回数据。诸如人员,地址和订单表之类的东西都由personId连接。我将如何使用模型精确地检索这些数据?

1 个答案:

答案 0 :(得分:1)

TodoList示例是模型之间关系遍历的演示。 请参见存储库https://github.com/strongloop/loopback-next/tree/master/examples/todo-list

还有教程https://loopback.io/doc/en/lb4/todo-list-tutorial.html

在此示例中,建立了两个关系:模型TodoList具有许多TodoTodo属于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(filter)来查询与外键等于todoListId的todo模型实例。

以示例的方式查看如何在控制器函数中调用关系api:https://github.com/strongloop/loopback-next/blob/master/examples/todo-list/src/controllers/todo-list-todo.controller.ts#L61