2010-06-24 29 views
1

如果我有一個事件/函數需要更改Active Record中的很多不同變量,我應該直接訪問它們並從庫中一次性更改它們,或者庫有多個模型調用?Codeigniter:多個Active Record調用vs集合和破壞模型

我想改變的數據遍佈在一些不同的mysql表中,但有些在同一個表中。

我擔心做多個模型調用會傷害性能,但做替代可能會打破模塊化並阻止可重用性。

回答

0

對我而言,無論如何,每個模型都代表一張表。 (我認爲大多數人這樣做)如果數據需要在多個表中進行更改,我必須撥打多個模型。

我認爲最好是按照他們打算的方式使用模型(而不是根本不使用)。當我第一次使用codeigniter時,我沒有使用它們,因爲我認爲活動記錄(或者至少codeigniter的實現)使得它很容易與數據庫一起工作。一旦我意識到如何使用模型,我從未回頭。

我也可以補充一點,這真的取決於應用程序的大小。也許沒有很多桌子,你需要最高的表現;從控制器調用活動記錄來完成它可能是完全正確的。

最後,我認爲重新使用性和可維護性是最重要的。

您可能也可以使用您的模型來構建查詢並執行它們,然後完全執行它們(是您認爲會失去性能的地方嗎?)

相關問題