ease
(Qzhlan)
1
如何在 main.php 配置 model 的属性?
我开发的模块,需要使用其他系统的 User 表。
因此我想出一个方案:
单独写一个 User model 然后再 main.php 里配置下他的 User::$db 连接到另外一个数据库。
或者我直接在 User model 里面 覆盖 getDbConection 方法:
public function getDbConnection() {
//User::$db = Yii::app()->userdb;
parent::getDbConnection();
}
但是两个方案,都没有成功。请教大家。
ancf
(Acfpop)
2
重写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()的情况~~~~
ancf
(Acfpop)
3
哦,其实没必要做dbname 你的情况可以暴力的直接在connection的时候判断__class__就可以解决数据库连接 。。。。