Laravel 7/6 Multiple Database Connection Tutorial

Laravel 7/6 Multiple Database Connection Tutorial

In this post we will give you information about Laravel 7/6 Multiple Database Connection Tutorial. Hear we will give you detail about Laravel 7/6 Multiple Database Connection TutorialAnd how to use it also give you demo for it if it is necessary.

Today, i would like to show you how to use multiple db connection in laravel 7/6 application. we will learn to use multi database connection laravel 7/6. you will find out way of implementing laravel 7/6 multiple database connection example.

I will give you step by step implementation of how to use laravel 6 multiple database connections using .env file. we will add configuration variable on .env file and use it to database configuration file. You can just follow me, i will also learn how to work with migration, model and database query for multiple database connection.

As we know sometime we need to use multiple database connection like mysql, mongodb etc. i can say when you work with large amount of project then you will need maybe. So let’s follow bellow step.

Set ENV Variable:

Here, you need to set configuration variable on .env file. let’s create as bellow:

.env

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=mydatabase

DB_USERNAME=root

DB_PASSWORD=root

DB_CONNECTION_SECOND=mysql

DB_HOST_SECOND=127.0.0.1

DB_PORT_SECOND=3306

DB_DATABASE_SECOND=mydatabase2

DB_USERNAME_SECOND=root

DB_PASSWORD_SECOND=root

Use ENV Variable:

Now, as we created variable in env file, we need to use that variable on config file so let’s open database.php file and add new connections key as like bellow:

config/database.php

<?php

use IlluminateSupportStr;

return [

'default' => env('DB_CONNECTION', 'mysql'),

'connections' => [

.....

'mysql' => [

'driver' => 'mysql',

'url' => env('DATABASE_URL'),

'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' => '',

'prefix_indexes' => true,

'strict' => true,

'engine' => null,

'options' => extension_loaded('pdo_mysql') ? array_filter([

PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),

]) : [],

],

'mysql2' => [

'driver' => env('DB_CONNECTION_SECOND'),

'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' => '',

'charset' => 'utf8mb4',

'collation' => 'utf8mb4_unicode_ci',

'prefix' => '',

'prefix_indexes' => true,

'strict' => true,

'engine' => null,

],

.....

Use Database Multiple Connection:

Here, i will give you simple example of how you can use as multiple connection:

Use with migration

<?php

.....

public function up()

{

Schema::connection('mysql2')->create('blog', function (Blueprint $table) {

$table->increments('id');

$table->string('title');

$table->string('body')->nullable();

$table->timestamps();

});

}

.....

Use with model

<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class Blog extends Model

{

protected $connection = 'mysql2';

}

Use with Controller

<?php

class BlogController extends BaseController

{

public function getRecord()

{

$blogModel = new Blog;

$blogModel->setConnection('mysql2');

$find = $blogModel->find(1);

return $find;

}

}

Use with Query Builder

Also see:Laravel 7/6 Notification Tutorial | Create Notification with Laravel 7/6

$blogs = DB::table("blog")->get();

print_r($blogs);

$blogs = DB::connection('mysql2')->table("blog")->get();

print_r($blogs);

I hope it can help you…

Hope this code and post will helped you for implement Laravel 7/6 Multiple Database Connection Tutorial. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs

For More Info See :: laravel And github

Leave a Comment

Your email address will not be published. Required fields are marked *

41  +    =  43

We're accepting well-written guest posts and this is a great opportunity to collaborate : Contact US