Yii2中配置使用连接多个数据库连接(config Model)
- 11005
- PHP
- 9
- super_dodo
- 2016/08/18
在使用Yii2开发的一些项目中需要调用多个数据库,这个时候我们就需要在model里面和在配置文件里面增加一些方法,使我们的model类能直接便捷的切换不同的数据库。
在你的配置文件下面新建一个远程数据库链接的配置文件。例如 config/remote_db.php
return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=dodobook_net', 'username' => '********', 'password' => '********', 'charset' => 'utf8', 'tablePrefix'=>'', ];
在你的配置文件里面,默认是web.php这个文件的
'components' => [
'db' => require(__DIR__ . '/db.php'),
'remote_db' => require(__DIR__ . '/remote_db.php'),
],
这些只需要在model里面重写静态方法
namespace app\models\remote;
use Yii;
class UserList extends ActiveRecord{
public static function model($className=__CLASS__){
return new $className();
}
//默认单库下面此方法可以不写
public static function getDb(){
// return Yii::$app->db; //默认为链接db
return Yii::$app->remote_db; //链接远程的数据库
}
public static function tableName(){
return 'tbl_user_list';
}
public function rules(){
return [
];
}
}
此时调用UserList这个model就是得到远程数据库里面的相关数据了。
此处仅做抛砖~~各位自行研究
//$where = ;
//$params = ;
$sql = "SELECT * FROM user_list WHERE {$where} ";
$result = Yii::$app->remote_db->createCommand($sql, $params)->queryAll();
时间不会停下来等你,我们现在过的每一天,都是余生中最年轻的一天。
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例

