Laravel连接多个数据库方法

有时项目中可能会出现连接两个以上mysql数据库的情况,那么在laravel框架中我们应该怎么做了:

1.在配置文件database.php文件中新增一组 mysql 配置:
'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'forge'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],
'mysql_main' => [                
            'driver'    => 'mysql',
            'host'      => env('DB_MAIN_HOST', 'localhost'),
            'database'  => env('DB_MAIN_DATABASE', 'forge'),
            'username'  => env('DB_MAIN_USERNAME', 'forge'),
            'password'  => env('DB_MAIN_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],
2.在 .env 文件中添加配置添加配置信息:
DB_CONNECTION=mysql
DB_HOST=192.168.1.31
DB_DATABASE=test1
DB_USERNAME=root
DB_PASSWORD=root

DB_MAIN_CONNECTION=mysql
DB_MAIN_HOST=localhost
DB_MAIN_DATABASE=test2
DB_MAIN_USERNAME=root
DB_MAIN_PASSWORD=root
3.在 model 文件中新声明一个属性:
namespace App\Http\Model;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $connection = 'mysql_main';
}

至此,我们就可以在需要的地方使用Model操作对应的数据库了。

你可能感兴趣的:(Laravel连接多个数据库方法)