我已经在Gii中尝试了这个,我的模块使用自己的db
当我预览时,我得到CException Property" GiiModule.db"未定义。
主应用程序配置 ../ config / main.php ,我包含了我的模块及其数据库连接
modules=>(
'booksImported'=>array(
'db'=>array(
'connectionString'=>'mysql:host=localhost;dbname=dbimports',
'username' => 'root',
'password' => 'unl0ck',
'class'=>'CDbConnection'
)
)
我的模块 .. protected \ modules \ booksImported \ BooksImportedModule.php
class BooksImportedModule extends CWebModule
{
public $db
public function init()
...
}
我的模型 ... \ protected \ modules \ booksImported \ models \ Importedbooks.php
class Importedbooks extends CActiveRecord
{
...
public function getDbConnection()
{
$db = Yii::app()->controller->module->db;
return Yii::createComponent($db);
}
}
我已经设法为使用与主应用程序相同的数据库的模块创建一个CRUD,我正在努力解决这个问题。请帮忙
答案 0 :(得分:0)
试试这个......
在yii中创建curd操作的步骤
1)首先你需要创建模型生成
单击模型生成器并将表名放在表名文本框中,并在下面的文本框中加载模型ID。复制。复制该模型ID并单击以下按钮首先预览并生成。
2)其次你需要创建curd generate 单击curd生成器并在模型名称文本框中粘贴模型ID,然后加载控制器ID并单击以下按钮,首先预览并生成。
现在运行以下网址:www.yourserver.com/index.php?r=controllername/create
答案 1 :(得分:0)
只需在getDbConnection函数中返回db
class Importedbooks extends CActiveRecord
{
...
public function getDbConnection()
{
return Yii::app()->controller->module->db;
}
}
我希望这能解决你的错误。