我的网站上有一个简单的朋友系统。现在我正在尝试创建一个多用户群消息系统,但仅限于朋友之间。我的消息系统的“收件人”值是逗号值,我想检查它们是否都是发送消息的人的朋友。
例如,我可以通过以下查询获取用户的所有朋友:
SELECT relation_setter user_id
FROM users_relationships
WHERE relation_getter = {$logged_in_user}
AND active = 1
UNION
SELECT relation_getter user_id
FROM users_relationships
WHERE relation_setter = {$logged_in_user}
AND active = 1
我的消息表单中有natasha, reeta
一个 $_POST['to'] 值,然后我将其转换为用户 ID 并得到类似126152, 112238
现在我如何在一个查询中检查这些 id 是否都是登录用户的朋友。我不想在循环中运行我的 is_friend 函数,该函数会检查单个用户 ID 是否是登录用户的朋友。
关系模式:
用户关系
id PK
relation_setter FK user_id
relation_getter FK user_id
active smallint(1)
relation_setter
是发送好友请求的人。为了得到我所有的朋友,我得到了我的 ID 为 或 的所有relation_setter
ID relation_getter
。
用户
user_id PK
name
username
password
etc etc...