我在我的网站上有一个新闻提要查询,它选择登录用户与发布帖子的用户有关系(关注)的用户的所有帖子。听起来令人困惑,但这是我的查询:
SELECT DISTINCT *
FROM posts a
LEFT JOIN relations b
ON a.user_id = b.user2
WHERE b.user1 = $user_id AND
b.status IN (1) OR a.user_id = $user_id
ORDER BY a.post_id DESC LIMIT 300
现在,如果用户设置了过滤器,则需要过滤帖子。参数设置在一个数组中,但我不确定如何在我的查询中设置一个条件来测试我创建的数组。如何构建我的 WHERE 子句?我正在测试 a.tag
包含参数的数组:$array
SELECT DISTINCT *
FROM posts a
LEFT JOIN relations b
ON a.user_id = b.user2
WHERE b.user1 = $user_id AND
我需要帮助:
a.tag IN ARRAY $array AND
b.status IN (1) OR a.user_id = $user_id
ORDER BY a.post_id DESC LIMIT 300
谢谢!