有了周围的所有工具和 CMS,我一直很容易创建应用程序。虽然我第一次不得不在没有任何 ORM 的情况下使用高级 SQL,所以我不知道如何获得我正在寻找的结果。
我正在尝试制作一个用户朋友系统。基本上一个用户可以添加另一个用户为好友,好友用户可以接受。我有两个表用户和用户关系。Users表有明显的,用户信息和User_Relationships表有relation_setter(请求者用户的id),relation_getter(被请求用户的id)和active
问题是我需要在页面上显示所有朋友(活动或非活动)。我知道以下查询是错误的,但这是我想出的:
$sql = "SELECT *
FROM users_relationships
LEFT JOIN users
ON users_relationships.relation_setter = users.user_id
WHERE users_relationships.relation_getter = " . $logged_in_id.
" OR users_relationships.relation_setter = " . $logged_in_id;
我需要的是关系表中的所有用户作为 $logged_in_user 的 setter 或 getter。简单地说,我需要所有与我成为朋友的人,无论是谁添加了他们,我或他们,并且基于我为每一行获得的“活动”值,它会打印“请求待处理”或不打印。
上面的查询给我带来了非常复杂的结果,其中许多重复的请求挂起也是错误的。