## 如何同时连接多个数据库 ### 方法一: >[info] 适合多个库都频繁调用的情况。 在配置文件中增加一个新的数据库组件,比如: ~~~ // 数据库 A 'rdbUser' => [ // 类路径 'class' => 'mix\client\Pdo', // 数据源格式 'dsn' => 'mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=user', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 设置PDO属性: http://php.net/manual/zh/pdo.setattribute.php 'attribute' => [ // 设置默认的提取模式: \PDO::FETCH_OBJ | \PDO::FETCH_ASSOC \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, ], ], // 数据库 B 'rdbLog' => [ // 类路径 'class' => 'mix\client\Pdo', // 数据源格式 'dsn' => 'mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=log', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 设置PDO属性: http://php.net/manual/zh/pdo.setattribute.php 'attribute' => [ // 设置默认的提取模式: \PDO::FETCH_OBJ | \PDO::FETCH_ASSOC \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, ], ], ~~~ ### 方法二: >[info] 适合少量调用另一个库的情况。 使用配置创建数据库对象,在应用配置 `objects` 字段中加上另一个库的配置,例如: ~~~ 'objects' => [ // 数据库 B 'rdbLog' => [ // 类路径 'class' => 'mix\client\Pdo', // 数据源格式 'dsn' => 'mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=log', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 设置PDO属性: http://php.net/manual/zh/pdo.setattribute.php 'attribute' => [ // 设置默认的提取模式: \PDO::FETCH_OBJ | \PDO::FETCH_ASSOC \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, ], ], ], ~~~ 然后使用上面定义的配置信息创建一个数据库对象: ~~~ $rdbLog = \Mix::app()->createObject('rdbLog'); ~~~