我使用 CodeIginter 作为我的 PHP 框架。我将情况解释如下:-

我需要三个模型,名称为:-

  • 用户模型
  • 关系模型
  • 提醒_型号

现在考虑一下情况:

User_Model 已经写好了。我在写信 Relation_Model. 。我的朋友会写 Reminder_Model.

Relation_Model 实例化 User_Model, ,并在其方法之一中使用它: getRelation($userID)

Reminder_Model 还实例化了一个 User_Model 其功能的实例。

Reminder_Model 需要打电话 getRelation Relation_Model 的方法。

所以,应该至少有两个实例 User_Model. 。一进 Relation_Model, ,另一个在 Reminder_Model.

问题是我如何确保 里面 Relation_Model, ,那个我的 User_Model 实例不干扰 User_Model 我朋友的例子 Reminder_Model 班级?

也就是说,要编码 Reminder_Model, ,我的朋友不应该有内部知识 Relation_Model, ,只是使用它的方法之一 getRelation.

如果您想知道这样做的必要性,请说:Reminder_Model 加载已登录的用户(例如用户 A)的模型,Relation_Model 与属于用户 A 团队成员的用户的模型一起使用。

有帮助吗?

解决方案

我不确定我是否理解为什么不能使用 User_Model 类的相同实例,但可能会加载模型两次,一次使用普通的旧模型 $this->load->model('User_Model') 第二个是 $this->load->model('Use_Model', 'Second_User_Model') 会有帮助的。或者你可以 克隆 物体就像 $this->second_user_model = 克隆 $this->user_model.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top