Salut.\n\nNous avons un flux de travail sur notre forum où nous attribuons des fils de discussion à un groupe, et une fois que ce groupe a fait ce qu’il estime pouvoir faire avec un fil de discussion donné, il se le désattribue. Cela garantit que ces fils de discussion disparaissent de la liste des fils de discussion dont ils sont encore responsables.\n\nEt, à des fins de reporting (« quel type de sujets sont généralement attribués au groupe ____ »), nous aimerions pouvoir rechercher sur notre forum toute instance d’une attribution de groupe.\n\nExiste-t-il une syntaxe de recherche que j’ignore, ou des idées sur la façon de générer de tels rapports ? J’aime à penser que je manque juste une syntaxe, car toutes les informations sur les attributions de groupe (passées et présentes) sont visibles lors de la navigation dans un fil de discussion.
1 « J'aime »
Vous pouvez extraire ces données à l’aide du plugin Data Explorer.
J’espère que la requête ci-dessous vous aidera.
1. Liste tous les sujets actuellement attribués à un groupe
SELECT
g.name group_name,
a.topic_id,
a.assigned_by_user_id,
a.created_at
FROM assignments a
INNER JOIN groups g ON g.id = a.assigned_to_id
WHERE assigned_to_type = 'Group'
ORDER BY g.name, created_at DESC
2. Liste l’historique de l’attribution de sujets aux groupes
SELECT
pcf.value AS group,
p.topic_id,
p.user_id AS "assigned_by_user_id",
pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE action_code = 'assigned_group'
AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC
4 « J'aime »
Wow @michebs – merci pour votre aide !
Nous avions commencé à assembler une requête similaire d’ici la fin de la journée (trouver la table post_custom_fields nous a sidérés), mais la vôtre est beaucoup plus propre au final.
Nous avons remarqué qu’il manquait certaines entrées lorsque les sujets avaient été directement réaffectés plutôt que désaffectés puis réaffectés, j’ai donc légèrement modifié la condition WHERE pour en tenir compte. Nous avons donc finalement abouti à :
SELECT
pcf.value AS group,
p.topic_id,
p.user_id AS "assigned_by_user_id",
pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE (action_code = 'assigned_group' OR action_code = 'reassigned_group')
AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC
Merci encore pour votre aide. ![]()
3 « J'aime »
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.