我通过在Yii2框架中定义它们之间的关系来使用ActiveRecord模型。现在我尝试使用依赖注入容器和我的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 :(得分:0)
答案在你给我们的链接中:)
您应该将inverseOf()
添加到getNavMenus()
关系:
public function getNavMenus() {
return $this->hasMany(NavMenu::className(), ['nav_item_menu_id' => 'id' ])
->inverseOf('navItemMenu');
}