• model 关系概念
    • 使用slc loopback:relation
    • 通过REST API 暴露关联对象的方法
    1. 1个顾客有多个订单, 同时 每个订单都只属于1个顾客
    2. 1个用户可以拥有 一个或多个角色, 每种角色可以有 零个或者多个用户
    3. 一个医生可以看见多个病人的预约, 一病人也可以看见多个医生的情况。

    通过连接模型, Loopback 暴露一组API来与每个模型实例和查询的互动,并筛选基于客户需求的信息。

    可以定义模型之间的如下关系:

    1. HasOne relations
    2. HasMany relations
    3. HasManyThrough relations
    4. HasAndBelongsToMany relations
    5. Polymorphic relations
    6. Embedded relations (embedsOne and embedsMany) 显示主体区别

    你可以在 model 定义JSON 文件中 或者 js 代码中定义。

    当你为一个 Model 定义了一个 关系, Loopback 将对这个 Model 添加一组方法, 每种类型的关系, 在文章中详细介绍

    创建现有 model 之间的新关系的最简单方法是使用, 关系的名称必须与它所引用的属性不同.

    对于大部分关系类型,他们有三个选项:

    • Scope
    • Properties

    Scope 范围

    scope 选项可以是一个对象或者 一个方法, 并适用于在相关范围内的所有过滤/条件。

    scope 对象 , 拥有所有过滤选项: where, order, , limit, offset, …

    当范围是一个函数,它将接收当前实例,以及默认的过滤器对象。

    使用方法: , id 改成 scope 名

    Demo:

    Properties(属性)

    你可以通过两种方法指定 properties 选项.

    invertProperties