문제
Codeiginter를 PHP 프레임 워크로 사용하고 있습니다. 아래 상황을 설명하고 있습니다 : -
다음과 같은 세 가지 모델이 필요합니다. -
- user_model
- 관계_model
- REMINDER_MODEL
이제 상황을 고려하십시오.
User_Model
이미 작성되었습니다. 나는 쓰고있다 Relation_Model
. 내 친구가 쓸 것입니다 Reminder_Model
.
Relation_Model
인스턴트 User_Model
, 그리고 그 방법 중 하나에서 그것을 사용합니다. getRelation($userID)
Reminder_Model
또한 하나를 인스턴스화합니다 User_Model
기능에 대한 인스턴스.
Reminder_Model
전화가 필요합니다 getRelation
관계 _model의 방법.
따라서 적어도 두 가지 인스턴스가 있어야합니다. User_Model
. 하나에 Relation_Model
, 또 다른 Reminder_Model
.
문제는 어떻게 보장 하는가입니다 내부에 Relation_Model
, 내 User_Model
인스턴스는 User_Model
내 친구의 사례 Reminder_Model
수업?
즉, 코드 Reminder_Model
, 내 친구는 내부 지식이 없어야합니다 Relation_Model
, 그 방법 중 하나를 사용하기 위해 getRelation
.
reminder_model (user-a)에 로그인 한 사용자의 모델을로드하면 relate_model은 사용자 A 팀 구성원 인 사용자 모델과 함께 작동합니다.
해결책
왜 당신이 user_model 클래스의 동일한 인스턴스를 사용할 수 없는지 이해하지 못하지만, 일반적인 오래된 구식으로 한 번 모델을 두 번로드 할 수 있습니다. $ this-> load-> model ( 'user_model') 그리고 두 번째 $ this-> load-> model ( 'use_model', 'second_user_model') 도움이 될 것입니다. 또는 당신은 할 수 있습니다 클론 물체와 같은 $ this-> second_user_model = clone $ this-> user_model.