CodeIgniter - مثيلات متعددة للنموذج
-
06-07-2019 - |
سؤال
أنا أستخدم CodeIginter كإطار PHP الخاص بي.أنا أشرح الوضع أدناه:-
أحتاج إلى ثلاثة نماذج اسمها:-
- نموذج_المستخدم
- Relation_Model
- Reminder_Model
الآن فكر في الموقف:
User_Model
هو مكتوب بالفعل.وأنا أكتب Relation_Model
.صديقي سوف يكتب Reminder_Model
.
Relation_Model
ينشئ مثيلا User_Model
, ، ويستخدم ذلك بإحدى طرقه: getRelation($userID)
Reminder_Model
يقوم أيضًا بإنشاء مثيل واحد User_Model
سبيل المثال لعمله.
Reminder_Model
يحتاج إلى الاتصال getRelation
طريقة نموذج_العلاقة.
لذلك، يجب أن يكون هناك حالتين على الأقل 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، ولكن ربما يتم تحميل النموذج مرتين، مرة واحدة باستخدام النموذج القديم العادي $هذا->تحميل->نموذج('User_Model') والثانية مع $this->load->model('Use_Model', 'Second_User_Model') سوف يساعد.أو يمكنك ذلك استنساخ الكائن مثل $this-> Second_user_model = استنساخ $this->user_model.