我经常对创建函数的模型感到困惑。让我试着用一个简单的例子来解释我目前的情况:
我有一个Log
模型,其中包含我们应用上的所有活动。我想获得特定用户的活动。我应该在getActivity($userId)
模型还是User
模型中创建Log
函数?
答案 0 :(得分:1)
为什么不同时?
当然,最重要的是避免代码重复,因为这很难维护 - 而且是一个难看的解决方案。
日志模型可以包含一个名为getActivity()
的方法,该方法可以获取所有活动(或基于分页和/或日志级别所需的任何参数)。此外,为了自我记录的目的,创建一个名为getUserActivity($userId)
的方法 - 一种希望看起来很自然的方法。
用户模型现在可以包含一个名为getActivity()
的方法(同样,包含分页和/或日志级别所需的任何参数),这些方法又调用getUserActivity()
方法在日志模型中。
这是最明智的选择吗?
嗯,对于任何问题都没有一个解决方案 - 但我喜欢这个解决方案的是你现在可以分离每个模型的逻辑,但它们之间仍然有一个可见的和功能性的链接。其次,您知道有可能以简单的方式将User对象链接到日志活动。
答案 1 :(得分:0)
由于您的函数中主要使用的数据库将是"Log"
,因此您应将其放在Log
模型中。