thinkphp3.2同时连接两个数据库的简单方法
因项目需求,需要用到连接两个库,所以封装了个方法,实例如下:
在公共的function.php加入封装的方法
function getCrmModel($name)
{
// new的model可以根据自己的需求去更改
return new \Home\Model\CrmModel($name);
}model代码
<?php
namespace Home\Model;
class CrmModel extends BaseModel
{
public function _initialize(){
parent::_initialize();
$this->connection = array(
'db_type' => C('CRM_DB.DB_TYPE'),
'db_user' => C('CRM_DB.DB_USER'),
'db_pwd' => C('CRM_DB.DB_PWD'),
'db_host' => C('CRM_DB.DB_HOST'),
'db_port' => C('CRM_DB.DB_PORT'),
);
$this->dbName = C('CRM_DB.DB_NAME');
$this->tablePrefix = C('CRM_DB.DB_PREFIX');
}
}在公共的config中添加配置信息
//第二个数据库配置信息 'SFK_DB'=>array( 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'test', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => 'root', // 密码 'DB_PORT' => '3306', // 端口 'DB_PREFIX' => 'test_', // 前缀 ),
总结