CRUD Sederhana dengan Laravel
Tentunya bukan hal asing bagi seorang pengembang web mendengar kata CRUD, ini merupakan sebuah pengembangan lebih lanjut dari bagaimana cara membangun sebuah halaman situs ( website ) lebih cepat.
Dokumentasi lengkap mengenai Laravel tentunya berada di halaman situs resminya yaitu di sini di sini, lengkap dari awal - akhir di jelaskan bagian per bagian.
Nah pada artikel ini mari belajar Laravel dengan cara langsung membuat projek sederhana, yaitu CRUD.
Masih paham kan dengan CRUD ?
Siapkan projek kita :
composer create-project laravel/laravel crud-sederhana
Projek yang kita buat bernama crud-sederhana. Ketik perintah di Command Prompt ( cmd ) atau di prompt VS Code
Tampilan Command Prompt
Tampilan Prompt VS Code
Tekan [Enter], proses pembuatan projek awal akan dimulai oleh composer.
Catatan :
Kalau di komputer / laptop kalian muncul keterangan blok kuning seperti di atas, jangan risau. Itu hanya tanda bahwa koneksi internet sedang tidak stabil. Biarkan saja sampai proses selesai.
Bagian pertama dari projek CRUD ini yaitu menampilkan data yang tersimpan dalam MySQL.
Selanjutnya, kita siapkan membuat basis datanya ( database ) terlebih dahulu. Boleh kita gunakan phpMyAdmin atau antarmuka visual lainnya, disini penulis menggunakan Navicat.
Buka aplikasi Navicat :
Pada localhost_3306, klik kanan kemudian pilih menu New Database
Setelah klik "OK", kita telah membuat basis data baru :
Buat tabel baru dengan struktur di bawah ini :
id int ( 11 )
nama varchar ( 30 )
alamat varchar ( 50 )
tgl_lahir date
Tekan tombol Save dan namai tabel baru kita dengan tb_biodata :Untuk tipe data dan panjang data, usahakan untuk di sesuaikan agar lebih efisien dalam pengolahan data yang tersimpan dalam basis data.
Persiapan awal untuk CRUD Laravel kita sudah selesai.
Selanjutnya kita kembali lagi ke VS Code dan buka projek crud-sederhana. Atau bisa dengan kembali ke Command Prompt, langsung saja ketikkan perintah cd crud-sederhana :
Maka secara otomatis kita akan masuk ke dalam projek dengan VS Code :
Ada berbagai macam folder yang tersedia dalam projek kita, disini kita akan fokus ke dalam folder :
- app\Http\Controllers
- resource\views
- routes\web
.env
Kita buka file .env, fokus pada bagian :
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Dengan isi :
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=blog_laravel
DB_USERNAME=root
DB_PASSWORD=
Baris DB_CONNECTION=mysql karena kita menggunakan basis data mysql. DB_HOST=localhost tidak ada perbedaan walaupun kita menggunakan 127.0.0.1, memiliki arti sama. DB_PORT=3306 port bawaan dari mysql. DB_DATABASE=blog_laravel sesuai dengan nama basis data yang dibuat sebelumnya.
DB_USERNAME=root nama pengguna bawaan, jangan di ubah. Biarkan dulu seperti itu.
DB_PASSWORD= biarkan kosong juga.
Diatas merupakan baris yang memiliki fungsi sama dengan mysqli_connect() saat menggunakan PHP Native.
Pastikan nama DB_Connection = mysql karena kita akan menyambungkan ke server XAMPP, dimana XAMPP ini basis data bawaannya adalah mysql
Pertama buat sebuah controller. Sesuai dengan konsep yang digunakan oleh Laravel dalam pengembangannya yaitu MVC ( Model View Controller )
Lebih lanjut terkait controller ? Baca disini
Di bagian ini, dilanjutkan membuat sebuah controller. Beri nama dengan DataController :
php artisan make:controller DataController
Buat route baru /tampilData :
Route::get('/tampilData', [DataController::class, 'TampilData']);
Setiap kali kita mengakses halaman Laravel di 127.0.0.1:8000, Laravel akan melakukan cek route di file web.php. Route ini ibarat sebuah pintu jalan yang akan membawa kemana tujuan akhir.
Route ini menggunakan atau memanggil DataController yang kita buat tadi serta akan menjalankan sebuah method yang bernama TampilData. But wait! Coba cek di file DataController.php
Belum ada method TampilData.
Ya memang betul!
Inikan baru bawaan awal, kita buat method baru di antara { } dengan nama TampilData di dalam class DataController extends Controller yang akan dipanggil oleh route /tampilData di dalam file web.php
Sekarang, mari kita coba jalankan projek kita ini dengan perintah :
php artisan serve
Dan ternyata errooooor
Klik tombol Run Migration dan refresh halaman, akan muncul halaman bawaan Laravel dong :
Sekarang panggil route /tampilData :
Hasilnya :
Sekarang kembali ke file DataController.php, kita sedikit ubah kodenya menjadi :
Kenali lebih jauh terkait DB::tableDengan fungsi ->get() ini artinya kita menjalankan sebuah query SQL biasa SELECT * FROM nama_tabel. Lebih singkat bukan ?
DB::table('di isi dengan nama tabel dalam mysql')
Sesuai dengan nama tabel kita pas membuat dengan Navicat / phpMyAdmin sebelumnya, yaitu tb_biodata. Maka dalam penulisan DB::table('tb_biodata')
Bagian terakhir, kita buat file baru dengan nama tampil_data.blade.php di dalam folder resources\views :
Buka file kemudian tambahkan kode singkat sederhana berikut :
Data dalam MySQL berhasil kita tampilkan! 😁
Yups lanjutkan terus dan selalu perhatikan step by step langkahnya agar paham dan lebih paham :)
Terima kasih sudah mampir 👋👌
Selanjutnya :
Tags:
Laravel