gpt4 book ai didi

php - 获取带有点赞和评论的帖子 - 一个查询?

转载 作者:行者123 更新时间:2023-11-30 01:36:16 24 4
gpt4 key购买 nike

我即将为用户配置文件开发一堵墙。它的工作原理基本上与 Facebook 的评论/点赞系统相同。

所以我想要做的是获取与用户个人资料相关的所有墙贴(通过当前 id 变量)以及与该特定帖子相关的所有评论和喜欢。我想使用来自评论和点赞的用户数据(即:姓名、user_id、电子邮件等)。

所以问题是:这可能吗?

根据此线程的回答,它不是:Fetch all news and all comments

根据此线程,它是:mysql/php: show posts and for each post all comments

我尝试使用此代码,但它似乎不起作用,因为它只是从数据库中获取所有评论。

SELECT p.*, c.*, l.*, u.name as post_author, u2.name as comment_author, u3.user_id
FROM edu_wall p
LEFT JOIN edu_comments c ON c.comment_entity = p.post_id
LEFT JOIN edu_likes l ON l.like_entity = p.post_id
LEFT JOIN edu_users u ON u.user_id = p.post_author
LEFT JOIN edu_users u2 ON u2.user_id = c.comment_author
LEFT JOIN edu_users u3 ON u3.user_id = l.like_author

那么解决办法是什么呢?我应该首先获取所有墙上的帖子,然后在 while() 内循环评论和点赞吗?这似乎是一个非常复杂且资源密集型的解决方案。

提前致谢!

最佳答案

您可以使用 union 例如:

SELECT id, p.name, NULL as "type", u1.username 
FROM edu_wall p
LEFT JOIN users u1 ON u.id = p.user_id
UNION
SELECT id, NULL as 'name', e.type, u2.username
FROM edu_likes e
LEFT JOIN users u2 ON u.id = e.user_id

Null 是替换表之间的额外列,因此这里当 type 为 NULL 时,信息适用于 edu_wall 用户,当注释时,信息适用于 edu_likes 用户。

你应该尝试看看自己

关于php - 获取带有点赞和评论的帖子 - 一个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16834559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com