CodeIgniter - mehrere Instanzen eines Modells
-
06-07-2019 - |
Frage
Ich verwende CodeIginter als mein PHP-Framework. Ich erkläre die Situation unter: -
Ich brauche drei Modelle genannt: -
- User_Model
- Relation_Model
- Reminder_Model
Betrachten wir nun die Situation:
User_Model
ist bereits geschrieben. Ich schreibe Relation_Model
. Mein Freund wird das Reminder_Model
schreiben.
Relation_Model
instanziiert User_Model
und verwendet, dass in einem seiner Methode: getRelation($userID)
Reminder_Model
instanziiert auch eine User_Model
Instanz für seine Funktion.
Reminder_Model
muss getRelation
Methode von Relation_Model nennen.
So sollte es mindestens zwei Instanzen von User_Model
sein. ein anderer in Relation_Model
One in Reminder_Model
.
Das Problem ist, wie stelle ich sicher, innerhalb Relation_Model
, dass meine User_Model
Instanz nicht stört die User_Model
Instanz Reminder_Model
Klasse meines Freundes?
Das heißt, um Code Reminder_Model
, sollte mein Freund hat keine internen Kenntnisse über Relation_Model
, nur eines seiner Methode getRelation
zu verwenden.
Wenn Sie die Notwendigkeit, dies wissen wollen, sagen: Reminder_Model lädt das Modell des Benutzers, der in (sagen Benutzer-A) angemeldet hat, arbeitet Relation_Model mit den Modellen der Benutzer, das Mitglied von Benutzer-A-Team.
Lösung
Ich bin mir nicht sicher, ob ich verstehe, warum Sie nicht die gleiche Instanz der User_Model Klasse verwenden können, aber vielleicht das Modell zweimal geladen, einmal mit plain old $ this-> last-> Modell ( ‚User_Model‘ ) und die zweite mit $ this-> last-> Modell ( 'Use_Model', 'Second_User_Model') helfen. Oder Sie könnten Klon das Objekt wie rel="nofollow $ this-> second_user_model = clone $ this-> user_model .