Tutorial Laravel #10 : Membuat CRUD Dengan Laravel Part 2

Membuat CRUD Dengan Laravel Part 2 – Pada tutorial membuat CRUD dengan laravel bagian kedua ini kita akan melanjutkan tutorial cara membuat CRUD sebelumnya.
Jika pada tutorial CRUD bagian pertama kita telah belajar tentang cara menampilkan data dari database dengan laravel, maka pada tutorial laravel bagian kedua ini kita akan belajar menginput data ke database.
Setelah kita menyelesaikan materi tentang cara menginput data ke database ini selesai, untuk melengkapi proses materi CRUD laravel, selanjutnya kita akan belajar cara mengupdate dan menghapus data dari database menggunakan laravel.
Yuk simak langsung Tutorial Membuat CRUD Dengan Laravel Part 2.
Menginput Data Ke Database Dengan Laravel
Untuk menginput data ke database dengan laravel, caranya tidak sulit. tidak jauh berbeda dengan cara menginput data ke database dengan php dan codeigniter, yang sudah kita pelajari sebelumnya di www.malasngoding.com.
Silahkan teman-teman baca dulu tutorial sebelumnya juga belum, yaitu tutorial membuat CRUD dengan laravel part 1.
Oke langsung saja kita masuk ke materi cara menginput data ke database dengan laravel dalam seri tutorial membuat CRUD dengan Laravel.
Menginput Data Ke Database Dengan Laravel
Pertama yuk kita buat dulu route dengan nama ‘/pegawai/tambah’.
belajar_laravel/routes/web.php
1 |
Route::get('/pegawai/tambah','PegawaiController@tambah'); |
disini kita membuat pengaturan route, jika di akses route ‘pegawai/tambah‘ , maka akan kita perintahkan untuk menjalankan method tambah yang ada dalam controller PegawaiController.
Sekarang kita buat dulu method tambah nya dalam controller PegawaiController.
belajar_laravel/app/Http/Controllers/PegawaiController.php
1 2 3 4 5 6 7 8 |
// method untuk menampilkan view form tambah pegawai public function tambah() { // memanggil view tambah return view('tambah'); } |
Coba teman-teman perhatikan pada method tambah yang kita buat seperti di atas. pada method ini kita memerintahkan untuk menampilkan view tambah.
Di sini rencananya kita akan membuat form penginputan data pegawai pada view tambah ini. karena kita belum punya view tambah, sekarang kita buat view baru dengan nama tambah.blade.php dalam folder views seperti biasa.
belajar_laravel/resources/views/tambah.blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<!DOCTYPE html> <html> <head> <title>Tutorial Membuat CRUD Pada Laravel - www.malasngoding.com</title> </head> <body> <h2><a href="https://www.malasngoding.com">www.malasngoding.com</a></h2> <h3>Data Pegawai</h3> <a href="/pegawai"> Kembali</a> <br/> <br/> <form action="/pegawai/store" method="post"> {{ csrf_field() }} Nama <input type="text" name="nama" required="required"> <br/> Jabatan <input type="text" name="jabatan" required="required"> <br/> Umur <input type="number" name="umur" required="required"> <br/> Alamat <textarea name="alamat" required="required"></textarea> <br/> <input type="submit" value="Simpan Data"> </form> </body> </html> |
Pehatikan lagi pada view tambah.blade.php yang kita buat di atas, untuk action form nya kita buat di arahkan ke route ‘/pegawai/store‘. karena kita ingin nanti route ‘pegawai/store‘ yang akan menangani pemprosesan data yang di input. agar bisa di olah oleh controller.
Di dalam form kita juga telah membuat beberapa buah form inputan, yaitu ada nama, jabatan, umur dan alamat. sesuai dengan format table pegawai yang sudah kita buat sebelumnya.
Oh ya, di sini kita berjumpa lagi dengan 1 fitur keren dari laravel, yaitu csrf protection. csrf projection semacam fitur keamanan untuk pencegahan penginputan data dari luar aplikasi atau sistem kita.
Nah, kenapa saya bilang laravel keren? karena laravel sudah menginclude fitur ini secara otomatis. hanya dengan menambahkan perintag {{ csrf_field() }} seperti di atas, maka laravel akan otomatis meng-generate kode token otomatis, yang di buat dalam bentuk form hidden.
Gak percaya? yuk kita coba lihat. silahkan teman-teman akses sekarang form tambah pegawai ini dengan alamat localhost:8000/pegawai/tambah. sesuai dengan yang kita atur di route sebelumnya.
Kemudian klik kanan dan pilih inspect element.

keamanan csrf pada laravel
Oke ya kita lanjutkan lagi, jika tombol simpan diklik kita belum bisa memasukkan data ke database. karena kita belum punya aksi untuk mengolah data yang di input agar di insert ke database.
Karena pada form tambah pegawai action nya kita buat ‘/pegawai/store’, maka pada saat form di submit, akan di arahkan ke route ‘/pegawai/store’ untuk di proses.
Sekarang kita buat route baru lagi. yaitu route ‘/pegawai/store’.
belajar_laravel/routes/web.php
1 |
Route::post('/pegawai/store','PegawaiController@store'); |
Pada route ini kita menggunakan method “post“, tidak lagi menggunakan method “get” seperti pada route sebelumnya yang kita buat.
Karena kita mengirimkan data melalui form ke route ‘/pegawai/store’. makanya kita wajib menggunakan method post pada route nya.
Route ini kita perintahkan untuk menjalankan method store dalam controller PegawaiController, maka sekarang kita buat lagi sebuah metho baru dalam controller PegawaiController. yaitu method store.
belajar_laravel/app/Http/Controllers/PegawaiController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// method untuk insert data ke table pegawai public function store(Request $request) { // insert data ke table pegawai DB::table('pegawai')->insert([ 'pegawai_nama' => $request->nama, 'pegawai_jabatan' => $request->jabatan, 'pegawai_umur' => $request->umur, 'pegawai_alamat' => $request->alamat ]); // alihkan halaman ke halaman pegawai return redirect('/pegawai'); } |
Perhatikan pada method store di atas. di sini kita menangkap data yang dikirimkan dari form tambah pegawai.
Cara menangkapnya itu di sini kita menangkap datanya di dalam parameter fungsi store(). kita beri keterangan Request. di ikuti dengan nama variabel yang ingin kita jadikan sebagai penyimpan data yang dikirim dari form. di sini kita menyimpannya dalam variabel $request.
1 2 |
public function store(Request $request) { |
Kemudian tinggal kita insert data nya ke table pegawai dengan menggunakan query builder laravel untuk insert data.
1 2 3 4 5 6 7 |
// insert data ke table pegawai DB::table('pegawai')->insert([ 'pegawai_nama' => $request->nama, 'pegawai_jabatan' => $request->jabatan, 'pegawai_umur' => $request->umur, 'pegawai_alamat' => $request->alamat ]); |
Fungsi table() untuk memberitahukan nama table, fungsi insert() bertujuan untuk menginsert data dan menetapkan data apa saja yang ingin di insert. Membuat CRUD Dengan Laravel Part 2
Jadi query builder di atas sama saja artinya seperti :
1 |
INSERT INTO pegawai ('pegawai_nama','pegawai_jabatan','pegawai_umur','pegawai_alamat') VALUES ('nama','jabatan','umur','alamat'); |
Dan bagian yang paling terakhir nya setelah kita menginput datanya ke table pegawai, maka kita perintahkan untuk mengalihkan halaman ke halaman pegawai atau ke route ‘pegawai’ kembali.
1 2 |
// alihkan halaman ke halaman pegawai return redirect('/pegawai'); |
Sekarang coba kita coba jalankan.
Akses localhost:8000/pegawai
dan klik tambah pegawai baru. maka akan di alihkan ke halaman tambah pegawai.

input data ke database dengan laravel
Coba isi beberapa data percobaan. dan klik tombol simpan data.

membuat crud dengan laravel part 2
Dan datapun berhasil tersimpan ke table pegawai, dan tampil pada halaman data pegawai.
Oke teman-teman sekian dulu tutorial laravel tentang cara menginput data ke database. Membuat CRUD Dengan Laravel Part 2
Sebelumnya kita telah belajar cara menampilkan data dari database dengan laravel. dan pada tutorial part 2 ini kita juga telah belajar tentang cara menginput data ke database dengan laravel.
Selanjutnya pada part 3 kita akan belajar tentang cara mengedit atau mengupdate data pada database dengan laravel. dan belajar menghapus data dari database juga dengan laravel.
Terima kasih sudah membaca tutorial Membuat CRUD Dengan Laravel Part 2.
Tutorial Membuat CRUD dengan Laravel
Tutorial membuat CRUD dengan Laravel Part 1 – Menampilkan data dari database
Tutorial membuat CRUD dengan Laravel Part 2 – Input data ke database
Tutorial membuat CRUD dengan Laravel Part 3 – Update data di database
Tutorial membuat CRUD dengan Laravel Part 4 – Hapus data dari database
Tutorial membuat CRUD dengan Laravel Part 5 – Kesimpulan & Source code
Tutorial Menarik Lainnya

Tutorial Laravel #41 : Action URL Laravel


Tutorial Laravel #40 : Multi Bahasa Localization Laravel


Tutorial Laravel #39 : Import Excel Laravel


Wah update terus ya min..
iya mas, hehe pantau terus ya tutorial-tutorial terbarunya
[…] Tutorial CRUD Laravel Dengan Query Builder Part 2 – Input Data Ke Database […]
[…] buat perintah untuk menginput data ke table pegawai dalam method run() […]
mau nanya min, kok waktu akses ke localhost:8000/pegawai/tambah tampilnya halaman index terus ya? view yang tambah tidak tampil
SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘jurusan’ cannot be null (SQL: insert into
siswa
(no
,nama
,kelas
,jurusan
) values (?, huda, xii, ?))solusinya kak kalau bisa
maaf saya gagal di edisi ke 10 ini
database tdk terupdate