0

ActiveRecord 모델을 사용하여 Yii2 프레임 워크에서 관계를 정의했습니다. 이제 ActiveRecord 모델과 함께 의존성 주입 컨테이너를 사용하려고하며 내 의존성을 주입하려고합니다. 그러나 순환 의존성 문제는 나를 혼란스럽게합니다.Yii2의 ActiveRecord 관계에 대한 순환 종속성

Here과 같은 관계를 정의하면 순환 종속성 문제가 발생하지 않습니까? 또는 나는 무엇인가 놓치고있다?

도움과 조언을 보내 주셔서 감사합니다.

편집 : 코드 예제 내 모델에서.

class NavMenu extends \yii\db\ActiveRecord { 
    public function getNavItemMenu() { 
     return $this->hasOne(NavItemMenu::className(), ['id' => 'nav_item_menu_id' ]); 
    } 
} 


class NavItemMenu extends \yii\db\ActiveRecord { 
    public function getNavMenus() { 
     return $this->hasMany(NavMenu::className(), ['nav_item_menu_id' => 'id' ]); 
    } 
} 

위의 코드는 문제의 아이디어를 제공하기 위해 단순화되었습니다.

+0

? 모든 관계가 – Kshitiz

+0

인 것은 MySQL 데이터베이스 자체에 관계를 정의하고 gii 도구를 사용하여 모델을 생성하는 것입니다. 그런 다음 모델을 수정합니다. 이 도움을 바랍니다. 아직도 newbee에서 yii2입니다. – Kshitiz

+0

그래서 mysql 테이블이나 그런 식으로 존재하지 않더라도 직접적인 관계가 필요합니다. 코드 및 테이블 구조를 공유하십시오. – Kshitiz

답변

0

답변은 우리에게 :) 준 링크에

당신은 getNavMenus() 관계에 inverseOf()을 추가해야합니다 : 당신이 모델 파일을 작성하려고

public function getNavMenus() { 
    return $this->hasMany(NavMenu::className(), ['nav_item_menu_id' => 'id' ]) 
       ->inverseOf('navItemMenu'); 
}