首页 > 解决方案 > 如何在 Sails.js 中定义需要来自第三个模型/表的附加条件和/或数据的模型关联?

问题描述

我正在开发一个应用程序,并且在 Sails.js 中的模型关联方面遇到了一些困难。我已经开始使用通用网络应用程序。该应用程序用于跟踪户外教育课程。我目前只有一个用户模型,但用户可能有多个“角色”。例如,同一用户可能既是课程讲师,也可能是学生。

我有用户、角色、班级和学校的模型。User 和 Role 之间的关联非常简单且有效。Section 和 School 也是一样(一个类 Section “属于”一个 School)。但是,我想在 Section 上定义一个关联来列出属于该部分的学生。这样做需要返回其角色包括“学生”或存储用户<->角色('学生')表/关系的记录 ID 的用户。

Sails 是否支持“多次通过”,您可以在其中过滤中间连接表?

...或者有其他方法可以解决这个问题吗?我试过和一只没有运气的橡皮鸭交谈,但我觉得还有另一种解决方案在盯着我看。

标签: modelsails.jsassociations

解决方案


您可以建立多对多关系,然后使用Module.populate()进行过滤,如文档所示:

https://sailsjs.com/documentation/reference/waterline-orm/queries/populate

或事件通过关联:

https://sailsjs.com/documentation/concepts/models-and-orm/associations/through-associations


推荐阅读