使用laravel框架的eloquent模型连接多个数据库

Posted 佚小名

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用laravel框架的eloquent模型连接多个数据库相关的知识,希望对你有一定的参考价值。

1、配置.env文件

DB_HOST_TRAILER=127.0.0.1
DB_PORT_TRAILER=3306
DB_DATABASE_TRAILER=htms_trailer
DB_USERNAME_TRAILER=root
DB_PASSWORD_TRAILER=

DB_HOST_FREIGHT=127.0.0.1
DB_PORT_FREIGHT=3306
DB_DATABASE_FREIGHT=hangli_saas
DB_USERNAME_FREIGHT=root
DB_PASSWORD_FREIGHT=

 2、配置config/database.php

mysql_freight‘ => [
            ‘driver‘    => ‘mysql‘,
            ‘host‘      => env(‘DB_HOST_FREIGHT‘, ‘localhost‘),
            ‘database‘  => env(‘DB_DATABASE_FREIGHT‘, ‘forge‘),
            ‘username‘  => env(‘DB_USERNAME_FREIGHT‘, ‘forge‘),
            ‘password‘  => env(‘DB_PASSWORD_FREIGHT‘, ‘‘),
            ‘charset‘   => ‘utf8‘,
            ‘collation‘ => ‘utf8_unicode_ci‘,
            ‘prefix‘    => ‘‘,
            ‘strict‘    => false,
            ‘engine‘    => null,
        ],
        ‘mysql_trailer‘ => [
            ‘driver‘    => ‘mysql‘,
            ‘host‘      => env(‘DB_HOST_TRAILER‘, ‘localhost‘),
            ‘database‘  => env(‘DB_DATABASE_TRAILER‘, ‘forge‘),
            ‘username‘  => env(‘DB_USERNAME_TRAILER‘, ‘forge‘),
            ‘password‘  => env(‘DB_PASSWORD_TRAILER‘, ‘‘),
            ‘charset‘   => ‘utf8‘,
            ‘collation‘ => ‘utf8_unicode_ci‘,
            ‘prefix‘    => ‘‘,
            ‘strict‘    => false,
            ‘engine‘    => null,
        ],

  3、修改model

//添加
protected $connection = mysql_freight;

 

以上是关于使用laravel框架的eloquent模型连接多个数据库的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - Eloquent 连接

使用 Laravel 表单模型绑定和复选框更新多对多 Eloquent 关系

Laravel 混合获取 Eloquent 急切加载嵌套多个模型

限制从 Laravel Eloquent 中连接的表/模型返回的字段

在 Laravel 中通过多对多关系模型对 eloquent 模型进行排序

从父多对多关系获取所有子模型 Laravel Eloquent