2

Problem Statement

I'm using multiple database in my laravel project and I want to display the data from multiple database. For that I'm following this question.


Exception

Unsupported driver [mysql2]

use Illuminate\Support\Facades\DB;
 
$users = DB::connection('mysql2')->select('SELECT * FROM users');


Configuration

.env

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database1
DB_USERNAME=username
DB_PASSWORD=password

DB_CONNECTION_SECOND=mysql2
DB_HOST_SECOND=127.0.0.1
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=database2
DB_USERNAME_SECOND=username
DB_PASSWORD_SECOND=password

config/database.php

       'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
        
         'mysql2' => [
            'driver' => 'mysql2',
            'host' => env('DB_HOST_SECOND', '127.0.0.1'),
            'port' => env('DB_PORT_SECOND', '3306'),
            'database' => env('DB_DATABASE_SECOND', 'forge'),
            'username' => env('DB_USERNAME_SECOND', 'forge'),
            'password' => env('DB_PASSWORD_SECOND', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
Maqsud
  • 593
  • 1
  • 6
  • 18

1 Answers1

2

For database 2, you need to change the config (like your first database) :

driver' => 'mysql2',

to

driver' => 'mysql',
sta
  • 24,192
  • 8
  • 39
  • 53