“我的新项目”类似于博客卷,用户可以在其中关注其他用户。
在列出所有帖子的同时,每个帖子下方都有一个用于关注/取消关注的按钮。
使用的表是用户,帖子和关注者。如下:
用户表
id firstName lastName
.....................................
1 arun prasanth
2 ann antony
3 sruthy abc
6 John abc
POSTS表
id user_id postname url
.....................................................
1 2 post1 www.url1.com
2 2 post2 www.url2.com
3 6 post3 www.url3.com
4 3 post4 www.url4.com
关注者表
id user_id following_users_id date
..............................................
1 2 1 2018-01-25
2 2 3 2018-01-25
3 6 3 2018-01-25
4 3 6 2018-01-25
列出我查询的所有帖子
SELECT * FROM posts LEFT JOIN users on posts.user_id = users.user_id;
,它工作得很好,因为两个表都有对应的行,结果是列出了所有数据的两个表列。
现在我的问题是加入第三个表(即关注者表)时。 Followers表的问题在于,它只有一行,该行对应于当前登录的用户user_id和followers.user_id。
我尝试了所有类似LEFT RIGHT INNER和OUTER JOIN的变体。但没有成功。我想要的结果是:
user.id -> xxx
user.firstName -> xxx
user.lastName -> xxx
posts.id -> xxx
posts.user_id -> xxx
posts.postname -> xxx
posts.url -> xxx
followers.id -> xxx
followers.user_id -> **Logged IN Users ID**
followers.following_users_id -> **posts.user_id**
followers.date -> xxx
仅当 followers.user_id ===登录用户ID 和 followers.following_users_id ===时,才应打印followers.id,followers.user_id,followers_following_users_id,followers.date = posts.user_id
为true。否则这些列应为空白。如上所述,我是否可以使用诸如foreach循环之类的方法来检索数据?