2010-06-24 57 views
1

如果我有一个事件/函数需要更改Active Record中的很多不同变量,我应该直接访问它们并从库中一次性更改它们,或者库有多个模型调用?Codeigniter:多个Active Record调用vs集合和破坏模型

我想改变的数据遍布在一些不同的mysql表中,但有些在同一个表中。

我担心做多个模型调用会伤害性能,但做替代可能会打破模块化并阻止可重用性。

回答

0

对我而言,无论如何,每个模型都代表一张表。 (我认为大多数人这样做)如果数据需要在多个表中进行更改,我必须拨打多个模型。

我认为最好是按照他们打算的方式使用模型(而不是根本不使用)。当我第一次使用codeigniter时,我没有使用它们,因为我认为活动记录(或者至少codeigniter的实现)使得它很容易与数据库一起工作。一旦我意识到如何使用模型,我从未回头。

我也可以补充一点,这真的取决于应用程序的大小。也许没有很多桌子,你需要最高的表现;从控制器调用活动记录来完成它可能是完全正确的。

最后,我认为重新使用性和可维护性是最重要的。

您可能也可以使用您的模型来构建查询并执行它们,然后完全执行它们(是您认为会失去性能的地方吗?)

相关问题