온라인 상태인 회원이 있습니다:
![]()
지난 6일 동안 매일 온라인이었지만, 게시물을 단 1개만 확인했습니다. 이 사용자가 어떤 게시물을 보고 있는지 확인할 수 있는 방법이 있을까요? 봇일 수도 있을까요?
수정:
7시간이 지났는데도 여전히 온라인 상태이며, 확인한 게시물은 여전히 1개뿐입니다:
데이터 탐색기를 사용하면 이 정보를 확인할 수 있습니다. 예를 들어 다음과 같은 쿼리를 사용할 수 있습니다:
-- [params]
-- user_id :user
SELECT *
FROM topic_views
WHERE user_id = :user
ORDER BY viewed_at DESC
topic_views 테이블은 누군가가 특정 주제를 처음 본 시점만 기록하므로, 지난 x 시간 동안 얼마나 자주 방문했는지는 알 수 없습니다. 하지만 이 정도면 충분할까요?
대안으로, 해당 사용자를 임의적으로 impersonate(가상 사용자)한 후 프로필의 /activity/read 페이지를 확인하는 방법도 있습니다.
이 쿼리를 사용하여 테스트용으로 만든 테스트 사용자가 어떤 주제를 테스트에 사용했는지 확인했습니다. 이 쿼리는 주제, 카테고리, 그리고 읽은 게시물의 번호를 반환하며, 가장 최근의 조회 순서로 정렬됩니다. 일반적으로 가장 최근에 조회된 주제가 제가 찾고 있던 주제입니다 ![]()
-- [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