Codeigniter 4 : Konfigurasi Database MYSQL

Codeigniter 4 : Konfigurasi Database MYSQL

Sobatcoding.com - Konfigurasi Database MySQL

Silahkan buka file .env di root folder. Jika belum ada kalian bisa copy file env bawaan Codeigniter 4 yang telah terinstall kemudian copy dan rename menjadi .env.  Kemudian hilangkan comment di line berikut dan sesuaikan dengan database yang kalian gunakan

database.default.hostname = 'localhost'
database.default.database = 'ci4'
database.default.username = 'root'
database.default.password = 
database.default.DBDriver = 'MySQLi'
database.default.DBPrefix =

 

Multiple Database Connection

Bagaimana jika kita ingin lebih dari satu koneksi database? Caranya gampang. Kita tambahkan koneksi lainnya dengan cara menambahkan kode seperti berikut di file env:

database.dbSecond.hostname = 'localhost'
database.dbSecond.database = 'ci42' //nama database lain yang akan dikoneksikan
database.dbSecond.username = 'root'
database.dbSecond.password = 
database.dbSecond.DBDriver = 'MySQLi'
database.dbSecond.DBPrefix =

 

Langkah selanjutnya kita buka file app/Config/Database.php. Tambahkan kode berikut setelah public $default:

...

public $dbSecond= [
		'DSN'      => '',
		'hostname' => 'localhost',
		'username' => '',
		'password' => '',
		'database' => '',
		'DBDriver' => 'MySQLi',
		'DBPrefix' => '',
		'pConnect' => false,
		'DBDebug'  => (ENVIRONMENT !== 'production'),
		'cacheOn'  => false,
		'cacheDir' => '',
		'charset'  => 'utf8',
		'DBCollat' => 'utf8_general_ci',
		'swapPre'  => '',
		'encrypt'  => false,
		'compress' => false,
		'strictOn' => false,
		'failover' => [],
		'port'     => 3306,
];

 

Cara Pemanggilan Multiple Database

Untuk contoh pemanggilan database di controller seperti berikut:

$this->db2 = \Config\Database::connect("dbSecond");

//atau

$this->db2 = db_connect("dbSecond");

//Execute
$query = $this->db2->query("SELECT * FROM tb_name ")->getResult();
var_dump($query);

 

Penggunaan Multiple Database di Models

Untuk contoh pemanggilan database di model seperti berikut:

<?php

namespace App\Models;

use CodeIgniter\Model;

class News extends Model
{
	protected $DBGroup  = 'dbSecond'; // setting menggunakan database ke dua
}