sequelize 关联建立之 belongsTo 的使用说明

阅读时长 3 分钟读完

在 Sequelize 中,belongs To 是一种非常常见的关联关系,它指定了模型之间的从属关系。本文将介绍 belongsTo 的使用方法,并提供示例代码来帮助你更好地理解。

关联关系

在 Sequelize 中,主要有四种关联关系:hasOne、hasMany、belongsTo 和 belongsToMany。其中,belongsTo 表示当前模型从属于另一个模型。

具体来说,belongsTo 指定的模型包含外键,这个外键指向另一个模型的主键。因此,在获取 belongsTo 模型的实例时,会同时获取它所从属于的模型的信息。

定义关联关系

要建立 belongsTo 关联关系,需要在模型中使用 Sequelize 提供的 belongsTo 方法。该方法的参数包括两个:

  • 连接的模型
  • 连接的属性

下面是一个例子:

-- -------------------- ---- -------
----- ------- - --------------------------- -
  --- -
    ----- ------------------
    ----------- -----
    -------------- -----
  --
  ----- -----------------
  -------- ------------------
---

----- ----- - ------------------------- -
  --- -
    ----- ------------------
    ----------- -----
    -------------- -----
  --
  ----- -----------------
---

------------------------ - ----------- ---------- --- ------- ---
---------------------- - ----------- --------- ---

在上面的代码中,我们定义了一个 Student 模型和一个 Class 模型,并通过 belongsTo 和 hasMany 方法定义了它们之间的从属关系。

在 Student 模型中,我们使用 belongsTo 方法,指定它从属于 Class 模型,并将 Class 模型中的 id 属性作为外键连接到它的 classId 属性上。

在 Class 模型中,我们使用 hasMany 方法来定义它和 Student 模型的一对多关系。

关联查询

建立关联关系后,我们可以使用 Sequelize 提供的 include 方法,同时获取两个模型之间的信息。

例如,我们想要获取一个 Student 对象以及它所属的班级的信息,可以这样查询:

-- -------------------- ---- -------
----- ------ - ----- -----------------
  ------ - --- - --
  -------- -
    -
      ------ ------
      --- --------
    --
  --
---

在上面的代码中,我们通过 where 部分指定了要查询的 Student 对象的 id,同时在 include 中指定了要获取的关联模型,这里的 as 属性需要与上面定义关联关系的时候一致。

总结

在 Sequelize 中,通过使用 belongsTo 方法,我们可以建立模型之间的从属关系,同时方便地进行关联查询。希望本文可以帮助你更好地理解和使用 belongsTo 方法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6486733f48841e9894501f05

纠错
反馈