tp5多数据库配置

PHP开发 小铁匠 2018-10-09

有时候我们需要在项目中使用多个数据库,那在tp5中多数据库该怎么配置呢。

首先我们先看一下原来的数据库配置是怎么使用的

tp5默认引入了一个数据库配置文件 database.php,一般我们会把数据库的连接配置写到这个文件中,在使用时就可以直接使用到该配置

Db::name('table_name')->select();

或者使用model

TableName::all();


在使用的过程中如果我们需要改变原配置中的某一项,我们也可以改变这些配置,以改变数据表前缀为例

Db::connect(['prefix' => 'tp5_']);

在使用model时在model文件中

protected $connection = [
    "prefix" => "tp5_"
];


如果我们需要改变的配置比较多或者就是连接了另外一个数据库,那可以这样操作

首先在config.php配置文件中增加一个数据库连接配置

'database2' => include_once('database2.php')

然后新键database2.php文件复制database.php中的内容并修改相应的配置。当然也可以不创建文件,直接把配置写在config.php中。

在使用时

Db::connect('database2')->name('table_name')->select();

或者使用model,在相应的model文件中

protected $connection = "database2";

如果使用该配置项的数据库较多,可以创建一个公共的model,其它使用该配置的model继承该公共model即可。

除了上面两种方式以外也可以使用dsn方式。

有兴趣的可以看一下底层代码,写的很清晰。




------ 本文结束 感谢阅读 ------