ユーザーが閲覧したトピックを確認することは可能ですか?

フォーラムのユーザー統計とアクティビティを分析しています。

ユーザーが閲覧した特定のトピックを確認したいと考えています。現時点でユーザーに関する最も詳細なアクティビティ情報は、管理画面のユーザーグリッドに表示される「閲覧したトピック数」と「読んだ投稿数」のみです。

より多くのデータを確認するために Data Explorer プラグインをインストールしましたが、詳細なユーザーアクティビティログやトピック・投稿へのアクセスに関する有用な情報は見つかりませんでした。

ご協力ありがとうございます。

以下のような形はいかがでしょうか:

ログインユーザーが特定のトピックを表示

-- [params]
-- int :topic_id = 1

SELECT
    title,
    viewed_at,
    tv.user_id
FROM topics t
LEFT JOIN topic_views tv
    ON t.id = tv.topic_id
WHERE category_id IS NOT NULL
    AND tv.user_id IS NOT NULL
    AND t.id = :topic_id
ORDER BY viewed_at DESC
LIMIT 1000

ユーザーによる直近 100 件のトピック表示履歴

-- [params]
-- int :user_id = 1

SELECT
    tv.user_id,
    title,
    viewed_at,
    views,
    t.user_id
FROM topics t
LEFT JOIN topic_views tv
    ON t.id = tv.topic_id
WHERE category_id IS NOT NULL
    AND tv.user_id = :user_id
ORDER BY viewed_at DESC
LIMIT 100

素晴らしいクエリですね!

GitHub のクエリ一覧を、あなたのコードを使って更新しました。
さらにクエリを追加する場合は、ぜひそちらに貢献してください。:+1:

すごい!ありがとうございます。完璧に機能しました!