gpt4 book ai didi

mysql - has_and_belongs_to_many 权限过滤

转载 作者:行者123 更新时间:2023-11-29 17:48:49 25 4
gpt4 key购买 nike

我需要查找两个模型之间的记录。

class Report
has_and_belongs_to_many :groups
end

class Group
has_and_belongs_to_many :reports
end

和 join_table - reports_groups

我有一个可以访问的组 ID 数组,例如 [1, 2]。我需要查找包含我有权访问的群组的报告,仅限他们。

If report has groups list like: [1], [2], [1,2] it is OK.
If report has - [1,2,3] - skip it.
If - [3,4] - skip it to.

我只需要允许我的组的报告。

最佳答案

仔细检查连接表的名称。

Report.where(
'NOT EXISTS(SELECT * FROM reports_groups WHERE report_id = reports.id AND group_id IN (?))',
[1, 2],
)

关于mysql - has_and_belongs_to_many 权限过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49575868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com