如何通过关联表进行模糊搜索?

发布于 2022-09-12 02:27:25 字数 1142 浏览 11 评论 0

现在只支持 article 表中的 title 和 introduction 字段进行模糊搜索

相关代码

Article.hasMany(models.tag, {
      foreignKey: 'article_id',
      constraints: false
    })
Tag.belongsTo(models.article, {
  foreignKey: 'article_id',
  constraints: false
})
const { rows, count } = await
ArticleModel.findAndCountAll({
      distinct: true,
      limit: pageSize,
      offset: (pageNum - 1) * pageSize,
      order: [['id', 'DESC']],
      attributes: [
        'id',
        'title',
        'author',
        'cover',
        'introduction',
        'created_at'
      ],
    where: {
        [Op.or]: [
          {
            title: {
              [Op.like]: `%${wd}%`
            }
          },
          {
            introduction: {
              [Op.like]: `%${wd}%`
            }
          }]
    },
      include: [
        {
          model: TagModel,
          required: false,
          attributes: ['name']
        },
      ]
    })

我希望支持 article 表中的 title 和 introduction 字段并且也支持 TagModel 中的name进行模糊搜索
即输入关键字,只要文章标题和描述以及文章标签中其中一个符合条件就返回该条数据
请问下改怎么解决

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

暖风昔人 2022-09-19 02:27:25

同样遇到了这种问题,请问楼主解决了吗?

七婞 2022-09-19 02:27:25

image.png

@梦的旅程 好像不行,你是怎么写的

烟燃烟灭 2022-09-19 02:27:25

曾经我也在sequelize 里面遨游,现在我放弃了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文