gpt4 book ai didi

mysql - 从表中过滤掉过时的项目

转载 作者:行者123 更新时间:2023-11-29 10:10:24 24 4
gpt4 key购买 nike

我的应用程序是使用 ruby​​ on Rails 构建的,由 mysql DB 支持它有2个表(模型) - product(id, name,created_at,updated_at等)和product_details(id,product_type,product_id,expires_on,created_at,updated_at等)(通过产品连接ID 列)。

我只需要从产品模型/表中选择那些满足以下条件之一的事件记录或product_ids - 该特定产品的产品详细信息已过时/过期(expires_on 列存在于product_details 表中)或存在Product_details 表中根本没有该产品的条目(我的用例中的有效场景)

请注意product_id是引用product(id)的外键

非常感谢任何帮助。提前致谢! :)

最佳答案

假设:

class Product < ApplicationRecord
has_one :product_detail
end

class ProductDetail < ApplicationRecord
belongs_to :product
end

您可以使用简单的单行查询来获取过期产品或没有详细信息的产品:

Product.select { |p| p.product_detail.nil? || p.product_detail.expires_on <= Date.today }

关于mysql - 从表中过滤掉过时的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51064894/

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