,我有以下我的应用程序两种型号,Product
和Price
更新相关的“最新”的模式
一个Product
描述产品(name
,description
等)和Price
有value
,first_seen_at
(日期时间)和last_seen_at
(日期时间)。
A Product
has_many Prices
。
的想法是,当一个产品变化的价格,最新的Price
记录被更新:
- 如果新的价格
value
是一样的现有价格,last_seen_at
更新 - 如果新的价格
value
是现有的价格不同,一个新的Price
记录用新的细节
我希望能够创造ACCE ss目前使用的产品的最新价格,所以目前使用product.prices.last.value
其中product
是从数据库中的任何给定产品
有没有更好的方法来实现这一目标?要将价格添加到数据库中,我目前正在执行以下操作:在数据库
- 查找产品查找最新售价为产品
- 检查价格
- 要么更新价格差异记录或创建一个新的价格纪录
我知道我可以存储在Product
记录latest_price,但随后的数据将被复制...
'如果值是一样的,'是一样的? –
“找到价格时” - 这是某种价格比较应用程序吗?我认为你需要给出一种高层次的描述,说明这应该如何工作。 – max
我已经做了一些修改来澄清 - 这个想法是产品的价格将会改变。但我会通过请求将最新价格推到应用程序中。这个请求然后会得到处理...有值更改?等等 – Jack