php - 如何查询关注的用户帖子?

标签 php mysql

我正在尝试获取当前用户关注的用户的帖子。还有帖子所有者的用户名和头像。 我的表格看起来像这样

用户表

User Id | Username | Avatar

帖子表

post_id | user_id | body | image

遵循表格

leaders_id | followers_id

这是我当前的查询

query = "SELECT *
            FROM posts
            WHERE $user_id IN(
                SELECT leader_id 
                FROM follows 
                WHERE follower_id=$user_id)
            ORDER BY date DESC
            LIMIT 10";

最佳答案

您是否正在寻找如下所示的内容?

SELECT p.* FROM posts AS p, follows AS f 
WHERE p.user_id=f.leader_id AND f.followers_id=$user_id

如果您想要leader的信息,您可以加入users表。

SELECT p.*, u.* FROM posts AS p, follows AS f, users AS u 
WHERE p.user_id=f.leader_id AND p.user_id=u.user_id AND f.followers_id=$user_id

如果您想要关注者的信息,我建议您对users表使用单独的查询,否则该信息会在查询结果中重复。

关于php - 如何查询关注的用户帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370514/

相关文章:

PHPMAKER,如何创建 View mysql

php - 修改请求SQL

php - 如何使用 Yii2 ActiveRecord 更新多行?

mysql - 将 MySQL Query 从一台服务器直接导入另一台服务器?

php - 没有从数据库中选择正确的 ID

使用 EF6 Code First 的 MySQL 现有数据库 - 使用脚手架创建 Controller 导致错误

php - 为什么 echo 在 do while 循环中甚至在 ignore_user_abort(1) 时都不起作用?

php - PDO::lastInsertID 有时不起作用

Python + Flask + Mysql 错误 2006(服务器已经消失)

mysql - 带有额外条件(包括分组依据)的 MAX