有两张表 article
与 tag
多对多关联
ArticleSchema.belongsToMany(CategorySchema, { through: { model: ArticleCategory, unique: false // 取消联合主键的约定 }, as: 'category', foreignKey: 'articleId', constraints: false})CategorySchema.belongsToMany(ArticleSchema, { through: { model: ArticleCategory, unique: false }, as: 'article', foreignKey: 'categoryId', constraints: false})
我现在需要通过tag
来筛选关联的article
应该怎么写呢
尝试了在 where
中查询,但是关联的属性是报错的,在 include
中来做筛选的话,将 tag
也进行了筛选
想要得到的结果就是 tag
传入 10
或者 11
或者 10和11
tag
都能返回图中的结果
有什么办法可以很简单的拿到呢
const articles = await ArticleSchema.findAll({ include: [{ model: TagSchema, as: 'category', // 别名,根据你的模型定义来用 where: { id: [10, 11] }, // 你可以在这里指定一个或者多个标签ID through: { attributes: [], // 这会排除中间表的字段 } }]});
简介 Cabal-DB 的关联数据查询主要用了两个方法:->has('table') 和->belongs('table'), 因为其实数据库关联关系只有两种,一种是拥有(has)另一种是属于(belongs),如: 用户拥有更多个文章 文章拥有多个标签 文章属于一个用户 文章标签关联记录属于一个标签和一篇文章 语法 拥有关系查询语法: $row->has($name, $foreignKeyOr
级联关系是一个数据库实体的概念,有 3 种级联关系,分别是一对一级联、一对多级联以及多对多级联。例如,一个角色可以分配给多个用户,也可以只分配给一个用户。大部分场景下,我们都需要获取角色信息和用户信息,所以会经常遇见以下 SQL。 在级联中存在 3 种对应关系。 一对多的关系,如角色和用户的关系。通俗的理解就是,一家软件公司会存在许多软件工程师,公司和软件工程师就是一对多的关系。 一对一的关系。每
sequelize 查询示例 const Op = Sequelize.Op [Op.and]: {a: 5} // 且 (a = 5) [Op.or]: [{a: 5}, {a: 6}] // (a = 5 或 a = 6) [Op.gt]: 6, // id > 6 [Op.gte]: 6, // id &
接口说明 为了让用户更清晰的比对场景中的数据,如历史数据对比、规划前后的数据对比等,Wish3DEarth团队新增了查询关联场景的接口,开发者可以通过该接口,来获取主屏与副屏之间的关联性。 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/contrasts/1.0.0/get 是否需要登录 否 请求字段说明 参数 类型 请
问题内容: 我有两个表,和。中的每个条目都有一个指向的外键。使用Sequelize,如何获取与中的每个条目相关联的所有条目以及其中的条目总数? 原始SQL: 楷模: 问题答案: 使用与和为: 或者,您可能还需要添加一个:
本文向大家介绍详解YII关联查询,包括了详解YII关联查询的使用技巧和注意事项,需要的朋友参考一下 一、多表关联的配置 在我们使用 AR 执行关联查询之前,我们需要让 AR 知道一个 AR 类是怎样关联到另一个的。 两个 AR 类之间的关系直接通过 AR 类所代表的数据表之间的关系相关联。 从数据库的角度来说,表 A 和 B 之间有三种关系:一对多(one-to-many,例如 tbl_user