我正在尝试查询相关表的SQL Server数据库并返回数据。诸如人员,地址和订单表之类的东西都由personId连接。我将如何使用模型精确地检索这些数据?
答案 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
具有许多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)来查询与外键等于todoListId
的todo模型实例。
以示例的方式查看如何在控制器函数中调用关系api:https://github.com/strongloop/loopback-next/blob/master/examples/todo-list/src/controllers/todo-list-todo.controller.ts#L61