跳转到主内容
极星编程网:以代码为星,赴技术山海!

查询文章列表时如何获取点赞状态?

查询文章列表并判断点赞状态 问题: 需要在查询文章列表的同时,获取每篇文章是否被当前用户点赞的信息。 数据库结构: 文章表:包含 id、userid、workid、name 等字段。 喜欢表:包含 id、userid、workid(喜欢的作品)字段。 要求: 查询结果类似以下形式:
[ { name: '文章2', islike: 0 }, { name: '文章1', islike: 1 }, ]
解决方案: 可以使用子查询来实现:
select id, userid, workid, name, (select count(*) from 喜欢表 as l where l.workid = a.workid) as like from 文章表 as a
结果: 该查询将返回文章列表,并为每篇文章添加一个名为 "like" 的新列,该列表示文章被当前用户点赞的次数。 注意: 如果需要判断是否被当前特定用户点赞,则需要在喜欢表中添加一个 userid 字段。 如果无法使用子查询,则可以分两次查询:首先查询文章列表,获取文章 id,然后查询这些文章 id 的喜欢数据。

相关文章