php连接多个数据库
如何在laravel中配置多个数据库。我找了下网上的资料,大多语焉不详,让新手们不知所措,尤其是后面数据库的连接与使用。注意这里laravel是最新的5.5版。
当然,这里假定你已经初步掌握了laravel使用的基本,至少在浏览器输入127.0.0.1:8000或localhost:8000之后能看到Laravel的初始界面。
其次,你要在WAMP的数据库里面有相应的数据库,主数据库database_name是默认连接上的,这里也不讲了。
1、配置.env文件
DB_CONNECTION=sqlsrv DB_HOST=192.168.1.244 DB_PORT=1433 DB_DATABASE=l1_gt DB_USERNAME=sa DB_PASSWORD=198912221009Ben DB_HOST_CENTER=127.0.0.1 DB_PORT_CENTER=3306 DB_DATABASE_CENTER=gaotian DB_USERNAME_CENTER=root DB_PASSWORD_CENTER=123123
2、配置config/database.php
'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', ''), 'port' => env('DB_PORT', ''), 'database' => env('DB_DATABASE', ''), 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', ], 'mysql_two' => [ 'driver' => 'mysql', 'host' => env('DB_HOST_CENTER', 'localhost'), 'port' => env('DB_PORT_CENTER', '3306'), 'database' => env('DB_DATABASE_CENTER', 'gaotian'), 'username' => env('DB_USERNAME_CENTER', 'root'), 'password' => env('DB_PASSWORD_CENTER', '123123'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],
3、创建Controller连接数据库,这一步主要是用来演示与测试连接效果。
DB访问
public function mysql() { $re = DB::connection('mysql_two'); $a = $re->select("select * from test"); dd($a); }
4.在model中指定用哪个数据库
class meeting_news extends Model { //没有指定的话,默认使用 sqlsrv protected $connection = 'mysql_two'; protected $table = 'users'; }