Multiple Database Connection di Laravel dengan MySQL - Rumah IT

Baru

recent

Multiple Database Connection di Laravel dengan MySQL

Multiple Database Connection di Laravel dengan MySQL

Laravel memungkinkan untuk membuat koneksi ke beberapa database dengan DBMS yang berbeda. Laravel memiliki dukungan bawaan untuk beberapa sistem basis data, kita hanya perlu memberikan detail koneksi dalam file konfigurasi basis data laravel.


Laravel adalah kerangka kerja PHP sumber terbuka gratis yang dibuat oleh Taylor Otwell . Framework ini mengikuti pola desain Model-View-Controller (MVC). Laravel menggunakan kembali komponen kerangka kerja berbeda yang ada yang membantu membuat aplikasi web yang sempurna dan luar biasa. Jika kamu terbiasa dengan PHP, menggunakan framework akan membuat tugas lebih mudah. Laravel memiliki tingkat keamanan dan mencegah serangan web menggunakan perlindungan CSRF (Cross-site Request Forgery).

Saat mengembangkan aplikasi web terkadang kita perlu menggunakan banyak basis data karena persyaratan proyek atau proyek skala besar, saat ini laravel memungkinkan untuk menggunakan banyak koneksi basis data. Kita dapat dengan mudah mempelajari cara menggunakan banyak basis data dengan laravel di blog ini.

Langkah 1 : Mendefinisikan Koneksi Database di File Konfigurasi

Pertama definisikan detail koneksi dengan menambahkan baris ini di file .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"

Seperti yang kita lihat, kita dapat menggunakan beberapa jika ingin menggunakan lebih banyak database, kita juga dapat menggunakan mesin database lainnya. Disini kita menggunakan MySQL.

Langkah 2 : Mengkonfigurasi Database Tambahan di file config/database.php

<?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', ''),
     ],

       //ini adalah koneksi database yang kedua     
       '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', ''),
     ]
   ]
];

?>


Langkah 3 : Membuat Schema , Query , dan Eloquent Model 

Schema Builder

Dengan Schema Builder, kita dapat menggunakan koneksi apa pun hanya dengan menjalankan metode connection() :
Schema::connection('mysql_second')->create('table_name', function($table){
   // tulis kode disini
});
Query Builder

Mirip dengan Schema Builder, kita dapat menentukan koneksi di Query Builder :
$posts = \DB::connection('mysql_second')->select('id','name')->get();
Eloquent Model

Mirip dengan Query Builder, kita dapat menentukan koneksi di Model Eloquent :
<?php

namespace App\Models;

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

?>
Selain itu, kita dapat menggunakan koneksi dalam kueri gabungan kustom (joint table) dengan contoh sederhana ini :
\DB::table('posts')->join('mysql_second.types as secondDbType','posts.code','=','secondDbType.code')->first();
All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2022
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.