Yii 模块间数据库关系

Yii 模块间数据库关系,yii,Yii,在Yii框架v1.1.13中 我有一个模块“A”,它的模型类“M1”与模块“B”中的“M2”相关 现在我的问题是,如何在两个模型之间连接外键 我想要模块B中M2的正确参考 public function relations() { // NOTE: you may need to adjust the relation name and the related // class name for the relations automatically generated belo

在Yii框架v1.1.13中

我有一个模块“A”,它的模型类“M1”与模块“B”中的“M2”相关

现在我的问题是,如何在两个模型之间连接外键

我想要模块B中M2的正确参考

public function relations()
{
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
        'M2_property' => array(self::BELONGS_TO, 'B.M2', 'M2_id'),
    )
}

提前感谢

无需像您那样连接,让gii为关系生成代码。你唯一需要做的就是导入config main.php中的所有模块文件,例如,你有两个模块,比如M1和M2,每个M1和M2中的模型,你只需导入如下所示

 'import'=>array(
        'application.modules.M1.components.*',
                'application.modules.M1.models.*',
                'application.modules.M2.components.*',
                'application.modules.M2.models.*',
         ),

这两个模块将相互关联

抱歉,我在写评论,你的解决方案奏效了,首先:gii不生成模块的模型关系,它所做的只是生成模块的ID和基本框架(Yii v1.1.13,如果我错了请纠正我)。第二:在任何模块中都有一个名为“init”的函数,它导入所有模块的模型和组件,因此我应该做的第一件事是“Yii::app()->getModule('B');”初始化模块。感谢againNo gii生成其默认关系我在了解您的解决方案之前的意思是,我必须从gii中的模块链接生成模块,然后从gii中的模型链接生成普通模型(此处将生成关系,就像模型位于受保护/模型文件夹中一样)。然后我必须移动模型并重新配置它们的关系(我所说的gii不会生成模块的模型关系),因为我不认为通过在配置文件中导入模型,引用将是正常的(正常的,就像gii给你的:)。我仍然说gii不会生成模块的模型关系,因为导入后,引用将不包括模块的签名,它将立即包括引用的模型,因为它现在是全局的。i、 这与模块无关,你同意吗?不,你不需要重新配置他们的关系。参考将是正常的,保留原样,不做任何更改,只需从受保护的/模型文件夹复制模型,并将其放置在相应的模块模型文件夹中,然后按如上所示导入,它们将正常相关