【问题标题】:codeigniter model inside a model, and model inside controller模型内的codeigniter模型和控制器内的模型
【发布时间】:2012-05-03 14:24:00
【问题描述】:

我实际上有 3 个问题,但彼此相似:

  • 我有一个名为Permissions 的模型。我需要另一个模型,即。 Users。在Users 中使用Permissions 的正确方法是什么。
  • 你明白我上面的意思,这很奇怪还是有其他更好的方法来做到这一点。
  • 这个Permissions 模型将在我的整个应用程序中全局使用,在其他模型或控制器中使用它的方式是什么(与第一个问题类似)

【问题讨论】:

  • 为什么不将两个模型都包含在一个控制器中,然后在那里组合或调整结果,而不是分层模型?
  • 所以你说,我应该检查控制器中的权限并决定用户是否可以使用我的用户模型做某事,对吗?

标签: model-view-controller codeigniter view model controller


【解决方案1】:

一种方法是获取主 CodeIgniter 对象的全局变量,然后从该对象而不是 $this 加载模型:

class Permissions extends Model
{
    function MyPermissionsFunction()
    {
        $ci =& get_instance();
        $ci->load->model('users');

        $ci->users->MyUserFunction();
    }
}

您还可以通过将模型组合成一个更大的模型来回避这个问题。将它们分开的主要原因是只加载您需要的模型;如果您几乎总是同时使用两者(这对于用户和权限来说是有意义的),那么采用这种方法可能会更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-20
    • 2011-05-30
    • 1970-01-01
    • 2015-04-24
    • 2012-04-08
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多