这属于哪种型号?

时间:2014-10-09 07:45:38

标签: php model-view-controller model

我经常对创建函数的模型感到困惑。让我试着用一个简单的例子来解释我目前的情况:

我有一个Log模型,其中包含我们应用上的所有活动。我想获得特定用户的活动。我应该在getActivity($userId)模型还是User模型中创建Log函数?

2 个答案:

答案 0 :(得分:1)

为什么不同时?

当然,最重要的是避免代码重复,因为这很难维护 - 而且是一个难看的解决方案。

日志模型可以包含一个名为getActivity()的方法,该方法可以获取所有活动(或基于分页和/或日志级别所需的任何参数)。此外,为了自我记录的目的,创建一个名为getUserActivity($userId)的方法 - 一种希望看起来很自然的方法。

用户模型现在可以包含一个名为getActivity()的方法(同样,包含分页和/或日志级别所需的任何参数),这些方法又调用getUserActivity()方法在日志模型中。

这是最明智的选择吗?

嗯,对于任何问题都没有一个解决方案 - 但我喜欢这个解决方案的是你现在可以分离每个模型的逻辑,但它们之间仍然有一个可见的和功能性的链接。其次,您知道有可能以简单的方式将User对象链接到日志活动。

答案 1 :(得分:0)

由于您的函数中主要使用的数据库将是"Log",因此您应将其放在Log模型中。