两个laravel项目有三个数据库

ds97pgxw  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(285)

两个laravel项目 laravel_a 以及 laravel_b ,它们有各自的数据库 database_a 以及 database_b .
现在有一些公共数据,我创建了第三个数据库 database_common ,两个项目如何读取第三个数据库?

pcww981p

pcww981p1#

您需要创建一个额外的数据库连接。试着这样做:
config/database.php :

'connections' => [

    'common_db' => [
        'driver' => 'mysql',
        'host' => env('COMMON_DB_HOST', ''),
        'port' => env('COMMON_DB_PORT', '3306'),
        'database' => env('COMMON_DB_DATABASE', 'forge'),
        'username' => env('COMMON_DB_USERNAME', 'forge'),
        'password' => env('COMMON_DB_PASSWORD', ''),
        'unix_socket' => env('COMMON_DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

],

.env :

COMMON_DB_CONNECTION=mysql
COMMON_DB_HOST=127.0.0.1
COMMON_DB_PORT=3306
COMMON_DB_DATABASE=yourDatabaseName
COMMON_DB_USERNAME=yourDatabaseUsername
COMMON_DB_PASSWORD=yourDatabasePassword

然后可以这样编写查询:

$users = DB::connection('common_db')->select(...);

参考:数据库:入门。仔细阅读这一页。

相关问题