Laravel 9 CRUD Part#1
CRUD adalah salah satu aspek penting dalam pembuatan aplikasi, karena hampir semua aplikasi atau website dinamis membutuhkan proses CRUD. Pada kesempatan kali ini saya akan berbagi tutorial CRUD Laravel 9.
Install Laravel 9
Mari mulai dengan instalasi Laravel 9 melalui composer dengan perintah
composer create-project laravel/laravel laravel-crud
atau melalui laravel installer.
laravel new laravel-crud
Masuk ke directori project kemudian jalankan perintah php artisan serve
untuk menjalankannya
Konfigurasi Database
Langkah kedua buat konfigurasi database di file .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_crud
DB_USERNAME=root
DB_PASSWORD=
Membuat Model dan Migration
Study kasus tutorial ini adalah CRUD untuk Buku dan Kategori. Mari kita buat Category dan Book model beserta migration.
Category
php artisan make:model Category -m
Setelah perintah tersebut dijalankan, akan terdapat file Category.php
yang berada di directory app/Models
dan file migration yang terletak di database/migration
.
Pada file migration untuk category isikan seperti berikut
2022_07_31_124144_create_categories_table.php
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->timestamps();
});
}
Book
php artisan make:model Book -m
Pada file book migration buat seperti ini
2022_07_31_124532_create_books_table.php
public function up()
{
Schema::create('books', function (Blueprint $table) {
$table->id();
$table->foreignIdFor(Category::class)->constrained();
$table->string('title');
$table->year('year_published');
$table->timestamps();
});
}
Option
-m
berguna untuk membuat migration.foreignIdFor
digunakan untuk membuat foreign key dengan model yang didefinisikan.
Setelah selesai jalankan perintah php artisan migrate
. Cek di database maka akan ada tabel categories dan books dengan struktur sebagai berikut.
categories table
mysql> SHOW COLUMNS FROM categories;
+------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-----------------+------+-----+---------+----------------+
| id | bigint unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+------------+-----------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
books table
mysql> SHOW COLUMNS FROM books;
+----------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------------+------+-----+---------+----------------+
| id | bigint unsigned | NO | PRI | NULL | auto_increment |
| category_id | bigint unsigned | NO | MUL | NULL | |
| title | varchar(255) | NO | | NULL | |
| year_published | year | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+----------------+-----------------+------+-----+---------+----------------+
Sampai disini dulu tutorialnya, selanjutnya kita akan bahas templating.