Logo
© 2019 - 2026 SantriKoding.

On This Page

Mobile navigation

Tutorial Laravel Livewire 4: #2 Membuat Model dan Migration

like emoticon 0
love emoticon 0
insightful emoticon 0
fire emoticon 0
cheer emoticon 0
celebrate emoticon 0
Tutorial Laravel Livewire 4: #2 Membuat Model dan Migration

Halo teman-teman semuanya. Pada artikel sebelumnya, kita telah berhasil menginstall dan menjalankan Laravel sebagai pondasi awal untuk membangun aplikasi menggunakan Laravel Livewire 4.

Pada artikel kali ini, kita akan melanjutkan ke tahap berikutnya, yaitu membuat Model dan Migration. Tahapan ini sangat penting, karena seluruh data yang nanti akan ditampilkan, ditambahkan, diubah, dan dihapus melalui Livewire, semuanya akan bergantung pada struktur database yang kita buat di sini.

Apa Itu Model dan Migration?

Di dalam Laravel, Model digunakan sebagai representasi dari sebuah tabel di database. Dengan model, kita dapat berinteraksi dengan data menggunakan sintaks PHP yang rapi dan mudah dibaca.

Sedangkan Migration adalah fitur Laravel yang digunakan untuk mengatur struktur tabel database menggunakan kode. Dengan migration, kita bisa membuat, mengubah, atau menghapus kolom tabel secara terkontrol dan terstruktur, tanpa harus menulis query SQL secara manual.

Langkah 1 - Konfigurasi Database

Sebelum membuat model dan migration, pastikan koneksi database sudah dikonfigurasi dengan benar. Silakan buka project Laravel teman-teman menggunakan text editor, lalu buka file .env. Cari bagian kode berikut:

.env

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=

Lalu ubah sesuai dengan nama database yang akan digunakan, misalnya:

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_livewire4
DB_USERNAME=root
DB_PASSWORD=

Di atas, kita membuat konfigurasi koneksi MySQL agar Laravel tahu database mana yang akan dipakai. Jika teman-teman pakai MySQL, pastikan database db_livewire4 sudah ada atau nantinya akan dibuat secara otomatis saat proses migrate.

Langkah 2 - Membuat Model dan Migration

Sekarang kita akan buat sebuah model dan migration sekaligus melalui perintah Artisan. Jalankan perintah berikut di terminal/CMD:

php artisan make:model Post -m

Perintah di atas akan membuat dua file sekaligus:

  1. app/Models/Post.php — sebagai model data.
  2. database/migrations/xxxx_xx_xx_xxxxxx_create_posts_table.php — sebagai file migration untuk tabel posts.

Langkah 3 - Menambahkan Kolom di Migration

Silahkan buka file migration yang ada di folder database/migrations/ (nama filenya akan berbeda sesuai timestamp), lalu pada bagian up() ubah menjadi seperti ini:

database/migrations/xxxx_xx_xx_xxxxxx_create_posts_table.php

public function up(): void
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('image')->nullable();
        $table->string('title');
        $table->text('content');
        $table->timestamps();
    });
}

Di atas kita menambahkan 3 kolom penting untuk tabel posts, yakni:

  • image
  • title
  • content

Langkah 4 - Menambahkan Mass Assignment

Silahkan teman-teman buka file model yang baru dibuat: app/Models/Post.php, lalu tambahkan property $fillable seperti berikut:

app/Models/Post.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    /**
     * fillable
     *
     * @var array
     */
    protected $fillable = [
        'image',
        'title',
        'content',
    ];
}

Properti $fillable digunakan agar field-field di dalam tabel tersebut boleh diisi secara massal (misalnya saat kita memasukkan data dari form).

Langkah 5 - Menjalankan Proses Migrate

Setelah berhasil menambahkan field atau kolom di dalam file Migration dan menambahkan Mass Assigment di dalam Model, maka kita akan lanjutkan belajar menjalankan proses migrate.

Dengan menjalankan proses migrate, maka field/kolom yang sudah kita definisikan di dalam file migration akan digenerate ke dalam database.

Silahkan teman-teman jalankan perintah berikut ini di dalam terminal/CMD dan pastikan berada di dalam project Laravel-nya.

php artisan migrate

Jika keluar output seperti berikut ini. Itu artinya kita belum memiliki database di dalam MySQL dengan nama db_livewire4 dan apakah kita ingin membuatnya ? Silahkan pilih Yes dan ENTER.

WARN  The database 'db_livewire4' does not exist on the 'mysql' connection.  

┌ Would you like to create it? ────────────────────────────────┐
│ ● Yes / ○ No                                                 │
└──────────────────────────────────────────────────────────────┘

Jika berhasil, maka database db_livewire4 akan dibuat dan tabel posts akan otomatis dibuat juga sesuai struktur yang kita definisikan sebelumnya.

Kesimpulan

Pada artikel ini, kita telah mempelajari bagaimana cara mengkonfigurasi database, membuat Model dan Migration, serta menentukan struktur tabel yang terdiri dari field image, title, dan content.

Pada artikel selanjutnya, kita akan mulai masuk ke inti pembahasan dengan installasi dan konfigurasi Laravel Livewire 4 di dalam project Laravel yang sudah kita siapkan.

Terima kasih

Artikel ini dibaca sebanyak 3.200 kali

Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CEO & 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 komentar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

Memuat komentar...