Halo teman-teman semuanya, pada artikel sebelumnya kita telah belajar bersama-sama bagaimana cara membuat dan menjalankan project Laravel dan sekarang kita akan lanjutkan belajar bagaimana cara membuat Model dan Migration di dalam Laravel.
Langkah 1 - Konfigurasi Koneksi Database
Di dalam Laravel, untuk mengatur koneksi ke database sangatlah mudah, kita hanya perlu menyesuaikan beberapa konfigurasi saja di dalam file yang bernama .env
.
Jadi, silahkan teman-teman buka file .env
tersebut, kemudian cari kode berikut ini.
.env
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
Jika teman-teman perhatikan, di atas untuk default driver koneksi database yang digunakan adalah sqlite
dan kita akan mengubahnya menjadi mysql
.
Sekarang, silahkan teman-teman ubah kode di atas, menjadi seperti berikut ini.
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_laravel_midtrans
DB_USERNAME=root
DB_PASSWORD=
Di atas, untuk nama database atau DB_DATABASE
yang akan kita gunakan adalah db_laravel_midtrans
.
Langkah 2 - Membuat Model dan Migration
Sekarang kita akan lanjutkan belajar membuat Model dan Migration di dalam Laravel, silahkan teman-teman jalankan perintah berikut ini di dalam terminal/CMD dan pastikan sudah berada di dalam project Laravel-nya.
php artisan make:model Donation -m
Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan 2 file baru, yang berada di dalam folder beirkut ini.
-
app/Models/Donation.php
-
database/migrations/2024_03_30_220323_create_donations_table.php
Langkah 3 - Menambahkan Field di Migration
Setelah Model dan Migration berhasil digenerate, maka kita akan lanjutkan menambahkan field-field di dalam file Migration.
Silahkan teman-teman buka file Migrationnya yang berada di dalam folder berikut ini database/migrations/2024_03_30_220323_create_donations_table.php
, kemudian pada function up
silahkan ubah menjadi seperti berikut ini.
database/migrations/2024_03_30_220323_create_donations_table.php
public function up(): void
{
Schema::create('donations', function (Blueprint $table) {
$table->id();
$table->string('invoice');
$table->string('name');
$table->string('email');
$table->bigInteger('amount');
$table->text('note');
$table->string('status')->default('PENDING');
$table->string('snap_token')->nullable();
$table->timestamps();
});
}
Dari perubahan kode di atas, kita menambahkan 7 field / kolom, yaitu:
FIELD / KOLOM |
TYPE DATA |
invoice |
string |
name |
string |
email |
string |
amount |
bigInteger |
note |
text |
status |
string |
snap_token |
string |
Langkah 4 - Menambahkan Mass Assignment
Setelah berhasil menambahkan field di dalam file Migration, maka kita akan lanjutkan menambahkan konfigurasi Mass Assignment di dalam Model.
Silahkan teman-teman buka file app/Models/Donation.php
, kemudian ubah semua kode-nya menjadi seperti berikut ini.
app/Models/Donation.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Donation extends Model
{
use HasFactory;
/**
* fillable
*
* @var array
*/
protected $fillable = [
'invoice',
'name',
'email',
'amount',
'note',
'status',
'snap_token',
];
}
Di atas, kita menambahkan properti baru dengan nama $fillable
, properti tersebut disebut dengan Mass Assignment dan berfungsi agar field-field yang ada di dalamnya dapat melakukan proses insert data ke dalam database.
Langkah 5 - Menjalankan Proses Migrate
Sekarang kita akan belajar bagaimana cara menjalankan proses migrate, agar file-file migrasi kita di dalam project digenerate menjadi table-table di dalam database.
Silahkan teman-teman jalankan perintah berikut ini di dalam terminal/CMD dan pastikan sudah berada di dalam project Laravel-nya.
php artisan migrate
Jika muncul pertanyaan seperti berikut ini, silahkan pilih Yes
dan ENTER.
WARN The database 'db_laravel_midtrans' does not exist on the 'mysql' connection.
┌ Would you like to create it? ────────────────────────────────┐
│ ● Yes / ○ No │
└──────────────────────────────────────────────────────────────┘
Jika proses migrate berhasil, maka kita akan mendapatkan database baru dengan nama db_laravel_midtrans
di dalam MySQL dan di dalamnya juga terdapat beberapa table.
Kesimpulan
Pada artikel ini, kita telah belajar bagaimana cara melakukan konfigurasi koneksi database di Laravel dengan MySQL dan belajar membuat Model beserta Migration dan terakhir belajar menjalankan proses migrate.
Pada artikel berikutnya, kita semua akan belajar bagaimana cara membuat layout / induk template untuk aplikasi yang akan kita buat.
Terima Kasih