以下のような簡単なクエリを試してみました。
SELECT *
FROM discourse_post_event_invitees
WHERE post_id = :post_id
残念ながら、15人のユーザーが「参加予定」としてマークされていることがわかっている投稿に対して、0件の結果が返ってきます。何か考えられることはありますか?
以下のような簡単なクエリを試してみました。
SELECT *
FROM discourse_post_event_invitees
WHERE post_id = :post_id
残念ながら、15人のユーザーが「参加予定」としてマークされていることがわかっている投稿に対して、0件の結果が返ってきます。何か考えられることはありますか?
これで機能するはずです。JSONから正しい投稿IDを取得していますか?
投稿テーブルにリンクし、トピックIDを使用できると思います。これは、投稿IDを見つけるよりも手間がかからないかもしれません。たとえば次のようになります。
-- [params]
-- topic_id :topic_id
SELECT ei.user_id, ei.status
FROM discourse_post_event_invitees ei
JOIN posts p ON p.id = ei.post_id
WHERE p.topic_id = :topic_id
近づいてきました。それは、参加または興味を持っている全員を返しますが、どのように区別しますか?
ああ、なるほど、「status」というキーの名前が少し混乱しました。イベントのステータスのようなものだと思っていました。
status = 0 = 参加予定
status = 1 = 興味あり
status = 2 = 不参加
コードを覚えていなくても、次のようなものを追加するだけで、もう少し読みやすくなります。
-- [params]
-- topic_id :topic_id
SELECT ei.user_id,
CASE
WHEN ei.status = 0 THEN 'Going'
WHEN ei.status = 1 THEN 'Interested'
WHEN ei.status = 2 THEN 'Not going'
END AS "Going?"
FROM discourse_post_event_invitees ei
JOIN posts p ON p.id = ei.post_id
WHERE p.topic_id = :topic_id
ORDER BY ei.status