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操作对应的数据库了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容