سؤال

أنا أستخدم 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top