チェックされていないチェックボックスを持つすべての投稿を抽出するためのSQLクエリ

Topic Checkboxes - a dynamic check list showing all checkboxes from all topic messages のディスカッションを続けます。

特定のカテゴリ内のチェックされていないチェックボックスを含むすべての投稿を、抜粋(つまり、そのチェックボックスが含まれる段落)とともに抽出するためのSQLクエリはどのようなものになりますか?

そんな感じですか?

-- [params]
-- int_list :categories

SELECT p.id post_id,
       t.id topic_id,
       c.id category_id,
       (regexp_matches(p.raw, '\\[\\s\\]\\s*[^]\\r\\n]+', 'g'))[1] AS html$excerpt
FROM posts p
JOIN topics t ON p.topic_id = t.id
JOIN categories c ON t.category_id = c.id
WHERE p.raw ~ '\\[\\s\\]\\s*[^]\\r\\n]+'
  AND c.id IN (:categories)

何か勘違いしているかもしれませんが、良い出発点になると思います。

「いいね!」 1

チェックボックスはメッセージ内の通常のテキスト、例えば [][ ][*] などと同じということですか?

「いいね!」 1

その通りです。:+1:

ただし、raw の代わりに cooked を使用すると、アイコンに変換されることがわかります。検索にはそちらの方が簡単かどうかはわかりません。

「いいね!」 1