Pregunta

Estoy usando CodeIginter como mi marco PHP. Estoy explicando la situación a continuación: -

Necesito tres modelos con nombre: -

  • User_Model
  • Relation_Model
  • Recordatorio_Modelo

Ahora considere la situación:

User_Model ya está escrito. Estoy escribiendo Relation_Model . Mi amigo escribirá el Reminder_Model .

Relation_Model crea una instancia de User_Model , y lo utiliza, en uno de sus métodos: getRelation($userID)

Reminder_Model también crea una instancia de User_Model para su funcionamiento.

Reminder_Model necesita llamar al método getRelation de Relation_Model.

Por lo tanto, debe haber al menos dos instancias de User_Model . Uno en Relation_Model , otro en Reminder_Model .

El problema es cómo me aseguro de dentro de Relation_Model , que mi instancia de User_Model no interfiere con el User_Model instancia de la clase Reminder_Model de mi amigo

Es decir, para codificar Reminder_Model , mi amigo no debe tener conocimiento interno de Relation_Model , solo para usar uno de sus métodos getRelation .

Si quiere saber la necesidad de esto, diga: Reminder_Model carga el modelo del usuario que ha iniciado sesión (digamos usuario-A), Relation_Model trabaja con los modelos de los usuarios que son miembros del equipo del usuario-A.

¿Fue útil?

Solución

No estoy seguro de entender por qué no puede usar la misma instancia de la clase User_Model, pero tal vez cargar el modelo dos veces, una vez con el viejo y simple $ this- > load- > model (' User_Model ') y segundo con $ this- > load- > model (' Use_Model ',' Second_User_Model ') ayudará. O podría clonar el objeto como $ this- > second_user_model = clone $ this- > user_model .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top