如何在 main.php 配置 model 的属性?

如何在 main.php 配置 model 的属性?

我开发的模块,需要使用其他系统的 User 表。

因此我想出一个方案:

单独写一个 User model 然后再 main.php 里配置下他的 User::$db 连接到另外一个数据库。

或者我直接在 User model 里面 覆盖 getDbConection 方法:

    public function getDbConnection() {


        //User::$db = Yii::app()->userdb;


        parent::getDbConnection();


    }

但是两个方案,都没有成功。请教大家。

重写CActiveRecord 的 __construct 加入数据库选择的参数。

__construct($scenario=’insert’,$dbname = "main") {

if (!empty($dbname))


$this->dbName = $dbname;





......

}

接着在protected/config中加入db.php配置不同的db参数。

重写public function getDbConnection()根据$dbname,结合db.php的配置连接数据库。

这样的话不用改变原有的代码,user查询的时候只需要修改连接库就O了。

注意:没有处理ActiveRecord::model()的情况~~~~

哦,其实没必要做dbname 你的情况可以暴力的直接在connection的时候判断__class__就可以解决数据库连接 。。。。