gpt4 book ai didi

ruby-on-rails - 单个 ActiveRecord 模型背后的多个表

转载 作者:搜寻专家 更新时间:2023-10-30 23:38:06 24 4
gpt4 key购买 nike

我正在使用两个遗留 Windows 应用程序,我们将 Ruby on Rails 应用程序与之集成。他们的数据库一团糟。

在每一个中,我都有两个不同的表代表一个订单。对于一个数据库,我有这些 ActiveRecord 模型:

CustomerOrder
CustomerOrderCopy

第一个表用于处理中的订单。第二张表是存档。

通常我必须同时查看两个表才能找到订单。

有人建议我如何让一个 ActiveRecord 模型代表两个表吗?意思是,如果在一个中找不到订单,则使用另一个。

更新

我使用以下内容来引用来自另一个模型的表格中的顺序:

has_one :external_order, foreign_key: :OrderNo, primary_key: :external_ordernumber,
class_name: Visma::CustomerOrder
has_one :visma_order_copy, foreign_key: :OrderCopyNo, primary_key: :external_ordernumber,
class_name: Visma::CustomerOrderCopy

# Return the external order in Visma from it's current table
def visma_order
external_order || visma_order_copy
end

我想问一下如何让一个模型代表两个表。

最佳答案

你必须为此创建一个逻辑吗

可能是这样的

#customer_order.rb

def self.search_order(param)
self.where(id: param).first || CustomerOrderCopy.where(id: param).first
end

Customer Order.search order(1)

关于ruby-on-rails - 单个 ActiveRecord 模型背后的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38891980/

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