如何在laravel5.*中连接并使用多个数据库

1、配置.env文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=gems
DB_USERNAME=root
DB_PASSWORD=123123
DB_PREFIX=gems_


DB_HOST_CENTER=127.0.0.1
DB_PORT_CENTER=3306
DB_DATABASE_CENTER=crm
DB_USERNAME_CENTER=dev
DB_PASSWORD_CENTER=dev1232123
DB_PREFIX_CENTER=vtiger_

2、配置config/database.php

 'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' =>env('DB_PREFIX', ''),
            'strict' => true,
            'engine' => null,
        ],
        'mysql_center' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST_CENTER', 'localhost'),
            'port' => env('DB_PORT_CENTER', '3306'),
            'database' => env('DB_DATABASE_CENTER', 'forge'),
            'username' => env('DB_USERNAME_CENTER', 'forge'),
            'password' => env('DB_PASSWORD_CENTER', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => env('DB_PREFIX_CENTER', ''),
            'strict' => false,
            'engine' => null,
        ]

3、创建Controller连接数据库,这一步主要是用来演示与测试连接效果。

<?php

namespace App\Http\Controllers\Api;

class AccountController extends Controllers
{
    public function crm(){
        $vtiger = DB::connection('mysql_center');
        $res = $vtiger->select("SELECT * FROM vtiger_users where id<10");
        var_dump($res);
    }
    public function gems(){
        $res = Account::find(5)->toArray();
        var_dump($res);
    }
}

4.当然,我们还要回到Routes\web.php中配置路由,以添加显示界面,

        Route::post('crm', 'AccountController@crm');
        Route::post('gems', 'AccountController@gems');

猜你喜欢

转载自blog.csdn.net/qq_26282869/article/details/81505839