我有一個拍賣模型有幾個屬性,其中兩個是current_auction:布爾值和scheduled_start:datetime。如何使布爾值(默認爲false)在scheduled_start變爲當前時間時變爲true?請告訴我,如果你需要更多的信息。我假設我需要使用script/runner,但沒有經驗。根據另一個屬性在後臺設置模型屬性?
0
A
回答
0
我不會將current_auction作爲屬性存儲。 Current_auction是一個取決於scheduled_start時間和當前時間的狀態。不要將其放在數據庫中,而應將其添加爲模型中的方法,將scheduled_start與當前時間進行比較,並根據計算結果返回true/false。
如果您需要根據是否爲最新值來進行選擇,請使用取決於scheduled_start時間而非當前/不是當前值的選擇邏輯。
0
很可能,你根本不需要它在數據庫中,就像tvanfosson說的那樣。
但是如果你在數據庫中需要它(比如說你需要用Sphinx來搜索它),你可能需要一個數據庫觸發器。有關信息,請參閱MySQL 5.0 Reference Maunual(假設您使用的是MySQL)。
對於需要更復雜邏輯的事情,我會設置一個排隊系統,並在隊列中添加一條消息來更新after_save
鉤子中的屬性。這樣會觸發更新,但在返回給用戶之前並未等待更新完成。我有一個question on asynchronous queues,我最終使用Starling和Workling。
相關問題
- 1. Rails根據另一個屬性的值驗證模型屬性
- 2. 根據另一個屬性
- 3. Django將模型屬性設置爲另一個模型定義
- 4. 將骨幹模型屬性值設置爲另一個模型
- 5. UWP:在設置另一個屬性後設置屬性時的異常
- 6. XML模式 - 根據另一個屬性的值驗證一個屬性
- 7. 獲取一個屬性ID,設置爲另一個屬性ID
- 8. 設置模型屬性
- 9. 設置ActiveRecord模型屬性
- 10. 未設置模型屬性
- 11. 根據另一個屬性的值添加需要的模型?
- 12. 根據同一對象的其他屬性設置屬性值
- 13. asp net mvc - 有一個模型屬性引用另一個模型屬性
- 14. 根據另一個屬性計算屬性值(LINQ)
- 15. 根據實體屬性列表設置單個實體屬性
- 16. XSLT根據屬性在另一個模板中應用模板
- 17. 根據其他屬性的存在設置maven屬性
- 18. 如何在另一個模型中設置模型屬性的形式:路徑
- 19. 根據其他屬性設置核心數據屬性
- 20. 將linq對象的屬性設置爲另一個的屬性
- 21. 從segue設置另一個屬性的setter的屬性Objective-C
- 22. 從另一個屬性設置屬性值
- 23. 基於另一個屬性設置嵌套對象屬性
- 24. 從另一個類設置BOOL屬性
- 25. 設置另一個類的屬性
- 26. 從另一個QML設置QML屬性
- 27. Laravel 5.2根據輸入字段設置模型屬性
- 28. Silverlight〜MVVM〜根據模型值動態設置Style屬性
- 29. 在模型對象上設置屬性?
- 30. SQL - 設置屬性值在同一個記錄另一個屬性的值