当前位置: 首页 > 知识库问答 >
问题:

前端 - sequelize关联查询mysql包含?

宇文曦
2023-10-13

有两张表 articletag 多对多关联

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 都能返回图中的结果

有什么办法可以很简单的拿到呢

共有1个答案

连晟
2023-10-13
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