在线用户正在查看的主题?

我的一位成员在线:
image

过去6天他每天都在线,但只浏览了1个主题。有什么方法可以看到该用户正在查看哪个主题吗?这会是机器人吗?

编辑:

7小时后,他仍然在线,并且只浏览了1个主题:

您应该能够使用数据浏览器找到这一点。也许是这样的:

-- [params]
-- user_id :user

SELECT *
FROM topic_views
WHERE user_id = :user
ORDER BY viewed_at DESC

topic_views 表只记录某人第一次查看某个主题的时间,因此您无法得知他们在过去 x 时间内访问了多少次,但这也许足够了?

或者,您可以冒充该用户,然后查看他们个人资料中的 /activity/read 页面。

1 个赞

我使用此查询来找出我创建的测试用户用于测试某项内容的哪个主题。它返回主题、类别以及所读取帖子的编号,按最近查看的顺序排列。通常,最近查看的主题就是我正在寻找的:)

-- [params]
-- user_id
SELECT 
    tu.topic_id, 
    category_id, 
    tu.last_read_post_number, 
    tu.last_visited_at 
FROM 
    topics 
LEFT OUTER JOIN 
    topic_users AS tu 
    ON topics.id = tu.topic_id 
WHERE 
    tu.user_id = :user_id 
    AND tu.last_visited_at IS NOT NULL 
ORDER BY 
    tu.last_visited_at DESC

2 个赞