我正在创建一个社交网络,您可以在其中关注某人或与他们成为朋友。您能够看到的数据取决于您与用户的关系类型。现在我有两张桌子可以使用。职位和关系。
帖子:
| user_id | post_id | story |
-----------------------------
| 1 | 1 | text. |
-----------------------------
关系:
| rel_id | user_1 | user_2| status |
--------------------------------------
| 1 | 1 | 2 | 3 |
--------------------------------------
我也有一个用户表,但我认为这在这里并不重要。所以,基本上我想从我是朋友或关注的用户中选择所有帖子。User_2 始终是关系的接收者。数字 1、2 和 3 代表关系的“状态”。1 表示您正在关注收件人,3 表示您是朋友,4 表示您正在关注收件人(唯一的区别是您还有待处理的好友请求)。我设置了一个 SELECT QUERY 但它不能正常工作。
$query=" SELECT * FROM posts LEFT JOIN relationships ON (posts.user_id=
relationships.user_2 AND relationships.user_1 = $user_id AND relationships.status = 4
OR 3 OR 1)";
它会选择所有帖子,两次。这是为什么?我希望它只选择发布帖子的用户与我有关系的帖子,状态为 1、3 或 4。我可能做错了什么?还有什么其他方法可以做到这一点?
提前致谢!