,我有以下我的應用程序兩種型號,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