似乎可见性级别为 owner 的群组对工作人员不可见。
可见性级别 staff 确实提供了一种确保可见性的机制(使用 left join 代替 join 并添加额外的 where 子句),但可见性级别 owner 却没有。
(嗯,GitHub 源代码的单行预览似乎不再起作用了?)
SELECT g.id FROM groups g
LEFT JOIN group_users gu ON gu.group_id = g.id AND
gu.user_id = :user_id AND
gu.owner
WHERE g.visibility_level = :staff AND (gu.id IS NOT NULL OR :is_staff)
UNION ALL
SELECT g.id FROM groups g
JOIN group_users gu ON gu.group_id = g.id AND
gu.user_id = :user_id AND
gu.owner
WHERE g.visibility_level = :owners
这是有意为之吗?