Tutorial Laravel Livewire 3 : #2 Membuat Model dan Migration


Tutorial Laravel Livewire 3 : #2 Membuat Model dan Migration

Halo teman-teman semuanya, pada artikel sebelumnya kita telah belajar bagaimana cara membuat dan menjalankan project Laravel dan sekarang kita akan belajar bagaimana cara melakukan konfigurasi database beserta membuat Model dan Migration.

Langkah 1 - Konfigurasi Koneksi Database

Karena akan belajar dengan data yang dinamis, maka kita butuh sebuah database untuk menyimpan data tersebut. Jadi silahkan teman-teman buka project Laravel-nya menggunakan Text Editor, kemudian buka file .env dan cari kode berikut ini.

DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

kemudian ubah menjadi seperti berikut ini.

DB_DATABASE=db_livewire3
DB_USERNAME=root
DB_PASSWORD=

Di atas, untuk DB_DATABASE kita berikan value db_livewire3 dan untuk DB_USERNAME adalah root dan DB_PASSWORD jika menggunakan XAMPP maka kita tidak perlu mengisinya atau dibiarkan kosong.

Langkah 2 - Membuat Database di MySQL

Jika teman-teman menggunakan XAMPP, maka kita bisa memanfaatkan DBMS (database management system) seperti PhpMyAdmin untuk mempermudah kita dalam pembuatan database.

Silahkan teman-teman buka http://localhost/phpmyadmin, kemudian silahkan buat database baru dengan nama db_livewire3, kurang lebih seperti berikut ini.

Langkah 3 - Membuat Model dan Migration

Sekarang kita lanjutkan belajar membuat Model dan Migration di dalam project 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 Post -m

Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan 2 file baru, yaitu:

  1. app/Models/Post.php
  2. database/migrations/2023_08_26_032506_create_posts_table.php

INFORMASI : nama file Migration akan random sesuai dengan tanggal dibuat-nya.

Langkah 4 - Menambahkan Mass Assigment

Sekarang kita akan menambahkan Mass Assigment di dalam Model, tujuannya agar attribute yang ada di dalam table bisa melakukan manipulasi data ke dalam database, seperti proses insert, update dan lain sebagainya.

Silahkan buka file app/Models/Post.php, kemudian ubah semua kode-nya menjadi seperti berikut ini.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use HasFactory;

    /**
     * fillable
     *
     * @var array
     */
    protected $fillable = [
        'image', 'title', 'content',
    ];
}

Di atas, kita menambahkan properti $fillable, dimana properti tersebut menunjukan sebuah Mass Assignment dan di dalamnya kita berikan attribute yang nanti ada di dalam table.

Langkah 5 - Menambahkan Attribute di Migration

Sekarang kita akan menambahkan attribute di dalam file Migration, silahkan teman-teman buka file database/migrations/2023_08_26_032506_create_posts_table.php, kemudian pada function up ubah menjadi seperti berikut ini.

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

Di atas, kita menambahkan 3 attribute baru, yaitu image, title dan content.

Langkah 6 - Menjalankan Proses Migrate

Agar attribute yang ada di dalam migration digenerate ke dalam database, maka kita perlu menjalankan proses migrate.

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

php artisan migrate 

Kesimpulan

Pada artikel ini kita telah belajar bersama bagaimana cara melakukan konfigurasi koneksi database, membuat Model dan Migration, menambahkan Mass Assigment dan menambahkan sebuah attribute di dalam file Migration kemudian kita belajar melakukan proses migrate ke dalam database.

Pada artikel selanjutnya kita semua akan belajar bagaimana cara melakukan installasi dan konfigurasi Livewire 3 di dalam project Laravel.

Terima Kaasih



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