Tutorial CRUD (Create, Read, Update and Delete) Laravel 9

Tutorial CRUD (Create, Read, Update and Delete) Laravel 9

id4 min read • 5589 views

CRUD Laravel 9 - Hi Dev 👋 Setelah lama tidak menulis artikel, kali ini saya akan menulis dan membagikan artikel lagi di divisidev.com. Hari ini atau tepat pada tanggal 8 Februari 2022, laravel telah merilis laravel versi 9, dan pada series ini saya juga akan memakai laravel versi 9. Pada series CRUD Laravel 9 kali, saya akan mengambil case study membuat content management sederhana. Pada artikel yang pertama ini, mungkin saya tidak akan terlalu banyak menulis atau menjelaskan karena fokusnya hanya install laravel.

Baiklah, mari kita langsung saja ke langkah-langkahnya 🚀

Step 1: Install Laravel

composer create-project laravel/laravel crud-laravel9

Pada langkah yang pertama, tentu kita perlu menginstall laravel. Untuk menginstall laravel, ada banyak sekali opsi yang dapat dilakukan dan salah satunya menginstall laravel menggunakan composer. Untuk install laravel via composer, kamu dapat menjalankan perintah seperti di atas pada terminalmu.

Jika sebelumnya kamu sudah menginstall laravel installer, kamu juga bisa menginstall laravel hanya dengan cara menjalankan perintah laravel new crud-laravel9.

Step 2: Set up Database

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crud-laravel9
DB_USERNAME=root
DB_PASSWORD=

Jika proses installasi sudah selesai, selanjutnya kita perlu melakukan setup database. Silahkan buat database baru kemudian buka laravel project yang baru saja diinstall, kemudian buka file .env dan sesuaikan seperti contoh di atas.

Step 3: Setup Model

php artisan make:model Post -m

Selanjutnya kita perlu membuat model Post, oleh karena itu, silahkan jalankan perintah artisan seperti di atas untuk generate file model Post dan sekaligus file migrationnya.

<?php

namespace App\Models;

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

class Post extends Model
{
    use HasFactory;

    protected $guarded = [];
}

Selanjutnya, buka file model Post yang baru saja digenerate pada direktori app\Models dan tambahkan method protected $guarded = []; seperti contoh di atas.

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

Lanjut ke file migration, silahkan buka file tersebut yang terletak di direktori database\migrations\{timestamp} _create_posts_table.php. Pada method up, tambahkan field-field yang kita butuhkan nantinya yaitu cover, title, slug dan content seperti contoh di atas.

Oke, jika sudah semua, lanjutkan dengan menjalankan perintah php artisan migrate untuk memigrasi file migration ke database.

Step 4: Generate Controller

php artisan make:controller PostController -r

Pada step ke empat ini, kita perlu membuat controller dengan menjalankan perintah artisan seperti di atas. Perintah tersebut akan menjalankan generate controller dengan nama PostController beserta method-method index, create, store, show, edit, update dan delete di dalamnya.

Step 5: Setup Route

Route::resource('posts',PostController::class);

Oke, setelah selesai membuat controller, maka kita juga perlu melakukan set up route dan mengarahkannya ke PostController yang baru saja kita buat tersebut. Silahkan buka file routes/web.php, kemudian tambahkan route resource seperti contoh di atas. 

Laravel route list

Apa maksudnya Route::resource ? jadi, dengan menggunakan resource, kita tidak perlu lagi mendefinisikan satu-persatu untuk route posts ini, seperti misalnya Route::get('posts',[PostController::class,'index'])->name('posts.index'); atau Route::get('posts/create',[PostController::class,'create'])->name('posts.create'); , karena dengan menggunakan resource, otomatis akan mendefiniskan route-route untuk posts tersebut.

Dan sekilas info, pada laravel 9 ini, tampilan route:list sudah lebih baik atau readable seperti gambar di atas.

Mungkin cukup sekian artikel tentang CRUD laravel 9 kali ini. Dari artikel ini, kita sudah melakukan beberapa langkah awal  seperti install laravel, setup database, generate controller dan define route sebelum melanjutkan ke langkah berikutnya.

Semoga artikel ini dapat mudah dipahami dan bisa membantu, sampai jumpa di artikel berikutnya. 👋

 

Credit: Work illustrations by Storyset

Series: CRUD Laravel 9
Published on February 08, 2022
Last updated on June 03, 2026

If you like this post and want to support us, you can support us via buymeacoffee or trakteer.