How to use multiple database in Lumen

后端 未结 2 1265
我在风中等你
我在风中等你 2021-02-04 18:38

We\'ve using Lumen for building API\'s , Now we need to access multiple databases.

Currently using .env for database config but unable to found the way to m

2条回答
  •  生来不讨喜
    2021-02-04 19:12

    First, you'll need to configure your connections. If you don't already have one you'll need to create a config directory in your project and add the file config/database.php. It might look like this:

     'accounts',
    
       'connections' => [
            'mysql' => [
                'driver'    => 'mysql',
                'host'      => env('DB_HOST'),
                'port'      => env('DB_PORT'),
                'database'  => env('DB_DATABASE'),
                'username'  => env('DB_USERNAME'),
                'password'  => env('DB_PASSWORD'),
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
                'strict'    => false,
             ],
    
            'mysql2' => [
                'driver'    => 'mysql',
                'host'      => env('DB2_HOST'),
                'port'      => env('DB_PORT'),
                'database'  => env('DB2_DATABASE'),
                'username'  => env('DB2_USERNAME'),
                'password'  => env('DB2_PASSWORD'),
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
                'strict'    => false,
            ],
        ],
    ];
    

    Once you've added your connection configurations, you can access them by getting the database manager object out of the container and calling ->connection('connection_name').

    // Use default connection
    app('db')->connection()->select('xx');
    DB::connection()->select('yy');
    
    // Use mysql2 connection
    app('db')->connection('mysql2')->select('xx');
    DB::connection('mysql2')->select('yy');
    

    Hope this helps you!!

提交回复
热议问题