gpt4 book ai didi

ruby-on-rails - 过滤查询中包含的 Rails 模型的结果

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:07 25 4
gpt4 key购买 nike

我正在尝试过滤掉从包含的模型中获得的一些结果。

我有 3 个类:

Platform (has many Products, has many ProductImages through Product)
Product (has many ProductImages)
ProductImage

现在,我尝试使用 ActiveRecord 在单个查询中获取所有产品及其相关图像,它们的图像的 bool 字段设置为 false:

platform.products.includes(:product_images).where(product_images: {dont_use: false})

上述查询的问题在于它过滤掉了没有任何带有 dont_use:true 的 product_images 的产品,这不是我的目标。

我正在尝试获取所有产品及其相关图片,但只是使用 dont_use: false 过滤掉图片。

关于如何更改我的查询以满足我的需求的任何想法?

最佳答案

添加任何条件都将修改定义返回哪些产品的整体查询,而不是指定包含哪些图像。

您可以添加与您需要的条件的附加关联并将其包括在内。例如:

class Product < Active record::Base
has_many :images_in_use, -> { where(dont_use: false) }, class_name: ProductImage
end

platform.products.includes(:images_in_use)

关于ruby-on-rails - 过滤查询中包含的 Rails 模型的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057834/

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