我正在尝试查询包含相关表的SQL Server数据库并返回数据。像人、地址和订单表之类的东西都由personId连接。我究竟该如何使用模型检索这些数据?
和教程https://loopback.io/doc/en/lb4/todo-list-tutorial.html
在这个例子中,建立了两个关系:模型TodoList
有许多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(filter(来查询foreignKey等于todoListId
的todo模型实例。
以控制器函数中如何调用关系api为例:https://github.com/strongloop/loopback-next/blob/master/examples/todo-list/src/controllers/todo-list-todo.controller.ts#L61