Rapport de tableau de bord - Système

Oui, la meilleure façon d’ajouter cela serait d’ajouter une section à l’instruction WHERE dans la requête, en filtrant par le title du sujet.

Par exemple :

WHERE archetype = 'private_message'
  AND subtype = 'system_message'
  AND created_at BETWEEN :start_date AND :end_date
  AND title = 'Greetings!'

Trouverait tous les messages Greetings!.

Notez que certains des messages système n’incluent pas de véritable utilisateur, il peut donc être nécessaire de supprimer la ligne AND user_id > 0 avec ce type de requête.

Vous pourriez également vouloir supprimer AND deleted_at IS NULL pour continuer à compter les messages de bienvenue que les utilisateurs pourraient supprimer.

Vous pourriez utiliser des expressions régulières pour faire correspondre des sujets avec un titre similaire.

Pour faire correspondre un sujet par son titre à l’aide d’une expression régulière (regex) dans PostgreSQL, vous pouvez utiliser l’opérateur ~, qui fait correspondre une expression régulière à une chaîne de caractères. La structure de la requête ressemblerait à ceci :

SELECT *
FROM topics
WHERE title ~ 'YourRegexPatternHere'

Remplacez 'YourRegexPatternHere' par le modèle d’expression régulière réel que vous souhaitez faire correspondre au champ title.

Par exemple, si vous recherchez des sujets dont le titre contient le mot « Welcome » (insensible à la casse), vous pourriez utiliser :

SELECT *
FROM topics
WHERE title ~* 'Welcome'

L’opérateur ~* est utilisé pour la correspondance insensible à la casse.