ログインしているユーザーが投稿を投稿したユーザーと関係がある (フォローしている) ユーザーからのすべての投稿を選択する Web サイトのニュース フィードのクエリがあります。紛らわしいように聞こえますが、ここに私のクエリがあります:
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
ありがとう!