Laravel CRUD Database
Buat Database
Pada artikel sebelumnya kita telah menyelesaikan download dan install Laravel. Buka folder “crud” menggunakan Visual Studio Code.
Buka file .env, cari baris DB_DATABASE dimana secara default adalah “laravel”. Silahkan ganti dengan nama database yang diinginkan.
Sebagai contoh dalam tutorial saya membuat nama database dengan “crud”. Jadi saya menulis DB_DATABASE = mentah
Sekarang, buka phpmyadmin di localhost. Pastikan server web diaktifkan. Buat Database di phpmyadmin dengan nama “crud” agar sesuai dengan DB_DATABASE di file .env.
Setelah mengklik “Buat”, kami sudah memiliki database bernama “mentah”, tetapi kami belum menulis tabel di dalamnya. Kami akan membuat tabel melalui fitur migrasi artisan Laravel nanti.
Buat Table
Kami telah membuat database dengan nama crud, sekarang kami ingin membuat tabel di database crud untuk menyimpan data.
Untuk membuat tabel, kita menggunakan “artisan migration” salah satu fitur Laravel. Buka terminal, buka proyek “Pelajari Laravel -> mentah”.
Kami akan membuat nama file migrasi dengan nama “create_testingname_table” menggunakan perintah berikut:
php artisan make:migration create_testingname_table
Jika benar, maka tampilan dari terminal akan seperti berikut:
neon@neon-X450CC:~/Documents/Learn Laravel/crud$ php artisan make:migration create_testingname_table
Created Migration: 2021_11_06_002454_create_testingname_table
Setelah migrasi dibuat, kita dapat melihat file migrasi dengan nama testingname di folder database/migrations.
Sekarang di file tambahkan bidang yang ingin Anda buat dengan tepat di fungsi up() . Fungsi up() digunakan untuk membuat tabel, sedangkan fungsi down() di bawahnya digunakan untuk menghapus atau menjatuhkan tabel.
Kami akan menambahkan beberapa bidang, seperti nama, jenis kelamin dan alamat. Formatnya adalah sebagai berikut::
$table->string('full_name');
$table->string('gender');
$table->string('address');
Untuk membuat nama field tersendiri, kita menggunakan garis bawah “_”, misalnya nama filenya adalah “nama lengkap” sehingga menjadi “nama_lengkap”.
Setelah bidang dibuat dalam file migrasi, kembali ke terminal dan gunakan perintah:
php artisan migrate
Perintah akan membuat fitur artisan membuat tabel di database berdasarkan field yang telah kita buat dalam migrasi. Tunggu sampai selesai, seperti gambar berikut:
neon@neon-X450CC:~/Documents/Learn Laravel/crud$ php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (681.32ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (536.14ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (579.57ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated: 2019_12_14_000001_create_personal_access_tokens_table (825.64ms)
Migrating: 2021_11_06_002454_create_testingname_table
Migrated: 2021_11_06_002454_create_testingname_table (233.05ms)
Setelah itu kita cek di phpmyadmin tepatnya di database crud apakah sudah dibuat tabelnya. Jika prosesnya berhasil, maka akan terlihat seperti berikut:
Mengapa tabel dibuat banyak? Sedangkan kita hanya membuat testingname saja? Ini terjadi secara default yang dibuat oleh Laravel. Itu tidak berpengaruh pada program kami di masa depan. Kami akan fokus pada nama pengujian saja.
Buat Route
Pada bagian kita akan membuat Route. Rute digunakan untuk mengarahkan tautan di browser web ke file tertentu di Laravel.
Tapi sebelum itu kita harus melakukan artisan serve untuk mendapatkan akses ke alamat IP dari proyek laravel kita. Buka terminal, lakukan serve agar kita bisa mengakses localhost dari website yang kita kembangkan menggunakan perintah:
php artisan serve
neon@neon-X450CC:~/Documents/Learn Laravel/crud$ php artisan serve
Starting Laravel development server: http://127.0.0.1:8000
[Sat Nov 6 08:53:57 2021] PHP 8.0.8 Development Server (http://127.0.0.1:8000) started
Alamat IP yang diberikan adalah 127.0.0.1:8000. Sekarang salin alamat IP dan tempel di browser web seperti yang ditunjukkan pada gambar berikut:
Sekarang buka file webp.php untuk membuat Route. Secara default, Route yang tersedia adalah “/”, artinya halaman Home seperti baris program pada gambar di bawah. Halaman beranda seperti pada gambar di atas yang berisi logo dan tulisan Laravel.
Kami tidak menggunakan rute “/” sebagai file indeks untuk rumah kami.
Namun dalam tutorial kita akan membuat halaman home muncul ketika diberi alamat “/crudTest”. Jika diakses melalui web browser, alamat lengkapnya akan seperti : http://127.0.0.0/tescrud.
Oleh karena itu kita buat root dan controllernya terlebih dahulu dengan format sebagai berikut ::
Route::get('/crudTest', [CrudtestController::class, 'index']);
Sehingga tampilan file web.php akan seperti :
Setelah kita membuat Route dengan controller tujuan menjadi CrudtestController, maka kita harus membuat file controllernya.
Karena secara default, file controller CrudtestController belum ada di Laravel. Cara membuatnya adalah kembali ke terminal dan gunakan perintah berikut:
php artisan make:controller CrudtestController
Setelah sukses, kita dapat menemukan file controller di folder app -> Http -> Controllers seperti yang ditunjukkan pada gambar berikut:
Kemudian tambahkan baris kode berikut di dalam kelas Crudites Controller extends Controller:
public function index()
{
return view('crudpage');
}
Jadi file pengontrol CrudtestController terlihat seperti :
Sekarang controller dengan nama CrudtestController telah dibuat. Agar pengontrol dapat digunakan pada Route kita harus menambahkan lokasi pengontrol di file web.php.
Caranya, tambahkan baris berikut tepat di atas file web.php:
use AppHttpControllersCrudtestController;
Seperti yang ditunjukkan pada gambar berikut:
Kami pertama kali membuat halaman rumah kami dengan nama file “crudpage”. Buka folder sumber daya -> tampilan -> buat file di dalam s dengan nama “crudpage.blade.php” dan masukkan baris program berikut:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, tial-scale=1.0">
<title>CRUD</title>
</head>
<body>
<h1>CRUD Testing</h1>
</body>
</html>
Mari kita uji, apakah yang kita buat berhasil atau tidak. karena kita sudah membuat Route /crudTest, jadi untuk pengujian silahkan gunakan http://127.0.0.1:8000/crudTest. Jika benar maka akan muncul seperti berikut :
Sampai dis kita sudah berhasil membuat Database, Table dan Route. Untuk dapat menggunakan database (membaca, menulis, mengedit dan menghapus data), kami akan membuat program tambahan untuk itu.
Dalam tutorial berikutnya kita akan belajar cara membaca data dari database.