Today, We want to share with you How to use multiple databases in Laravel.In this post we will show you Laravel Multiple Database Connections, hear for How to Run Laravel Using Multiple Database Connections we will give you demo and example for implement.In this post, we will learn about How to Use Multiple Database Connections in Laravel Application with an example.
How to use multiple databases in Laravel
There are the Following The simple About How to use multiple databases in Laravel Full Information With Example and source code.
As I will cover this Post with live Working example to develop laravel 5.8 connect to multiple databases, so the laravel using multiple database connections for this example is following below.
Using .env >= 5.0 (tested on 5.6)
In .env file settings
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=pakainfo DB_USERNAME=modi_information DB_PASSWORD=modiko@12345 DB_CONNECTION_SECOND=mysql DB_HOST_SECOND=127.0.0.1 DB_PORT_SECOND=3306 DB_DATABASE_SECOND=atmiya DB_USERNAME_SECOND=modi_information DB_PASSWORD_SECOND=modiko@12345
step 2: In config/database.php
'mysql' => [ 'driver' => env('DB_CONNECTION'), 'host' => env('DB_HOST'), 'port' => env('DB_PORT'), 'database' => env('DB_DATABASE'), 'username' => env('DB_USERNAME'), 'password' => env('DB_PASSWORD'), ], 'mysql2' => [ 'driver' => env('DB_CONNECTION_SECOND'), 'host' => env('DB_HOST_SECOND'), 'port' => env('DB_PORT_SECOND'), 'database' => env('DB_DATABASE_SECOND'), 'username' => env('DB_USERNAME_SECOND'), 'password' => env('DB_PASSWORD_SECOND'), ],
IMP Note:In Laravel mysql2 if DB_username as well as DB_password is same, after that We can use simple env(‘DB_USERNAME’) which is here metioned in .env first few some lines.
Laravel Multiple db config Without .env <5.0
app/config/database.php
return array( 'default' => 'mysql', 'connections' => array( # Primary/Default database connection 'mysql' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'database' => 'pakainfo', 'username' => 'modi_information', 'password' => 'modiko@12345' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), # Laravel Secondary database connection 'mysql2' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'database' => 'atmiya', 'username' => 'modi_information', 'password' => 'modiko@12345' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), ), );
Schema
Schema::connection('mysql2')->create('products', function($table) { $table->increments('id'): });
Laravel Query Builder
$users = DB::connection('mysql2')->select(...);
using Laravel Eloquent
class Products extends Eloquent { protected $connection = 'mysql2'; }
setConnection in Laravel
class SomeController extends BaseController { public function someMethod() { $products = new Products; $products->setConnection('mysql2'); // laravel non-static method $product_data = $products->find(1); $product_data = Products::on('mysql2')->find(1); // laravel static method return $product_data; } }
Web Programming Tutorials Example with Demo
Read :
Summary
You can also read about AngularJS, ASP.NET, VueJs, PHP.
I hope you get an idea about How to use multiple databases in Laravel.
I would like to have feedback on my infinityknow.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.