gpt4 book ai didi

mysql - 获取所有关联记录都具有属性的记录

转载 作者:可可西里 更新时间:2023-11-01 07:40:24 25 4
gpt4 key购买 nike

这是我的类(class):

class Product < ActiveRecord::Base
has_and_belongs_to_many :categories
end

class Category < ActiveRecord::Base
has_and_belongs_to_many :products
end

类别有一个 visible bool 值。

我需要在 Product 中创建一个范围,以便我可以获得所有类别都可见的产品(即:如果一个产品有 10 个类别,甚至一个类别都有 visible 设置为 false,范围应丢弃该产品)。

ActiveRecord 调用和 MySQL 查询都是可接受的。

编辑:我们有数十万种产品,我们需要将此操作委托(delegate)给数据库,因为我们必须进行分页,对这一系列产品的喜欢进行排序。

最佳答案

Product.where("id not in (select product_id from categories where visible='false')")

希望这对您有所帮助。

关于mysql - 获取所有关联记录都具有属性的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16233250/

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