如果我有一個事件/函數需要更改Active Record中的很多不同變量,我應該直接訪問它們並從庫中一次性更改它們,或者庫有多個模型調用?Codeigniter:多個Active Record調用vs集合和破壞模型
我想改變的數據遍佈在一些不同的mysql表中,但有些在同一個表中。
我擔心做多個模型調用會傷害性能,但做替代可能會打破模塊化並阻止可重用性。
如果我有一個事件/函數需要更改Active Record中的很多不同變量,我應該直接訪問它們並從庫中一次性更改它們,或者庫有多個模型調用?Codeigniter:多個Active Record調用vs集合和破壞模型
我想改變的數據遍佈在一些不同的mysql表中,但有些在同一個表中。
我擔心做多個模型調用會傷害性能,但做替代可能會打破模塊化並阻止可重用性。
對我而言,無論如何,每個模型都代表一張表。 (我認爲大多數人這樣做)如果數據需要在多個表中進行更改,我必須撥打多個模型。
我認爲最好是按照他們打算的方式使用模型(而不是根本不使用)。當我第一次使用codeigniter時,我沒有使用它們,因爲我認爲活動記錄(或者至少codeigniter的實現)使得它很容易與數據庫一起工作。一旦我意識到如何使用模型,我從未回頭。
我也可以補充一點,這真的取決於應用程序的大小。也許沒有很多桌子,你需要最高的表現;從控制器調用活動記錄來完成它可能是完全正確的。
最後,我認爲重新使用性和可維護性是最重要的。
您可能也可以使用您的模型來構建查詢並執行它們,然後完全執行它們(是您認爲會失去性能的地方嗎?)