How to use multiple database in Laravel

How to use multiple database in Laravel

How to use multiple database in Laravel

In this post, we will give you information about How to use multiple databases in Laravel. Here we will give you detail about How to use multiple database in Laravel And how to use it also give you a demo for it if it is necessary.

Laravel is a free, open-source PHP framework, created by Taylor Otwell . It follows a Model-View-Controller (MVC) design pattern. Laravel reuses the existing components of different frameworks which helps to create a perfect and outstanding web application. If you are familiar with PHP, Advance PHP it will make your task easier. Laravel is secure and prevents web attacks using its CSRF (Cross-site Request Forgery) protection.

While developing a web application some times we need to use multiple databases because of project requirement or large scale projects, in this time laravel allows to use multiple database connections. You can easily learn how to use multiple databases with laravel in this blog.

See also 

PHP Laravel 5: Class 'MongoDBDriverManager' not found

In this post we will give you information about PHP Laravel 5: Class 'MongoDBDriverManager' not found. Hear we will give you detail about PHP Laravel 5: Class 'MongoDBDriverManager' not foundAnd how to use it also give you demo for it if it is necessary.

In this post, you will find the solution for issue :.

FatalThrowableError in Client.php line 81:
Class 'MongoDBDriverManager' not found

When you are going to connect MongoDB database with any PHP application then you can face this issue if you don't have PHP MongoDB driver.

So first you need to run following command to install Mongodb PHP extension in Ubuntu :

sudo apt-get install php-mongodb

Now restart the server :

sudo service apache2 restart

Try this..

Hope this code and post will helped you for implement PHP Laravel 5: Class 'MongoDBDriverManager' not found. 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

Add Database Connection Detail in .env

DB_HOST_SECOND="DB HOST HERE"
DB_PORT_SECOND="DB PORT HERE"
DB_DATABASE_SECOND="DATABASE NAME HERE"
DB_USERNAME_SECOND="DB USERNAME HERE"
DB_PASSWORD_SECOND="DB PASSWORD HERE"

As you can see, you can go with multiple if you want to use more databases, also you can go with other database engines. Here we use MySQL.

Configure database detail in config / database.php

add detail in the connections array.

<?php

return [
   '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', ''),
     ],
     'mysql_second'=>[
       'driver' => 'mysql',
       'url' => env('DATABASE_URL'),
       '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', ''),
     ]
   ]
];

?>

Note: Add All Detail Of Database Connection Here we add only database detail for learning purposes.

Now We learn How to use this connection with Schema , Query , and Eloquent Model .

Schema Builder

With Schema Builder, You can use any connection by simply run the connection()method:

Schema::connection('mysql_second')->create('table_name', function($table){
   // entire code here
});

Query Builder for use multiple database in Laravel

Similar to Schema Builder, you can define a connection in Query Builder:

$posts = DB::connection('mysql_second')->select('id','title')->get();

Eloquent Model for use multiple database in Laravel

Similar to Query Builder, you can define a connection in the Eloquent Model:

<?php

namespace AppModels;

class Post extends Eloquent {
   protected $connection = 'mysql_second';
}

?>

Also, you can use the connection in custom join queries. with this simple example:

DB::table('posts')->join('mysql_second.types as secondDbType','posts.code','=','secondDbType.code')->first();
Hope this code and post will helped you for implement How to use multiple database in Laravel. 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

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