Tutorial Laravel Midtrans #3 : Membuat Model dan Migration


Tutorial Laravel Midtrans #3 : Membuat Model dan Migration

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.

  1. app/Models/Donation.php
  2. 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



Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami