| Prime Time

Laravel #5 : Request Data Pada Laravel

Jika sebelumnya saat kita belajar PHP, ada yang namanya GET dan POST untuk menerima atau menangkap data. Maka di Laravel juga sama.

Ada istilah yang di sebut dengan request pada laravel. maksud nya juga sama, ada proses menerima atau menangkap data dari inputan POST, dan ada juga jenis proses penengkapan dari URL.

Caranya tidak sulit, teman-teman tinggal memahami penjelasan pada tutorial ini, dan alangkah lebih bagus lagi juga teman-teman langsung mengikuti dengan cara langsung mempraktekkan contoh kasus yang ada pada tutorial ini.

Ada 2 proses request atau penerimaan data pada laravel. yaitu :

  • Penerimaan Data Melalui URI
  • Penerimaan Data Dari Input

Kita akan banyak menggunakan metode proses penerimaan data ini nantinya pada saat mengembangkan aplikasi menggunakan laravel, baik itu menerima atau menangkap data dari url, atau menangkap data dari form input pada saat membuat proses login, CRUD pada laravel dan proses yang memerlukan pengolahan data lainnya.

Akan kita bahas satu per satu. Kita mulai dengan cara menangkap data dari URI atau url.

Menangkap Data Melalui URI

Sebenarnya ada banyak cara juga untuk menangkap data yang dikirimkan melalui url, tapi di sini kita akan menggunakan teknik penengakapan data dari url yang sederhana. dan yang menurut saya paling mudah.

Kita bisa menangkap data dari url dengan men-setting terlebih dulu pada bagian route laravel.

Sebelumnya kita telah belajar tentang route pada laravel. silahkan teman-teman baca lagi tutorial laravel #2 Route dan View Pada Laravel di www.malasngoding.com jika teman-teman belum membacanya.


Baik sekarang silahkan buka route pada file web.php dalam project “belajar_laravel” yang sudah kita buat sebelumnya dari tutorial laravel part 1.

Dan buat route berikut pada route laravel (web.php).

belajar_laravel/routes/web.php

Jadi di sini kita membuat route baru, yaitu pada parameter pertama kita buat dengan “pegawai”. dan parameter kedua kita menangkap datanya dengan menuliskan syntax “{nama}“. untuk penamaan nya bebas teman-teman bisa menyesuaikan sendiri.

dan di route ini kita juga memerintahkan untuk menjalankan controller PegawaiController, dan method index.

Jadi pada saat kita mengakses localhost:8000/pegawai/blablabla, maka akan dijalankan method index pada controller PegawaiController.

Sekarang buka controller PegawaiController, dan silahkan teman-teman bisa membuat controller baru dengan nama PegawaiController jika belum mempunyai controller ini. dan tulis syntax berikut.

Cara membuat controller pada laravel sudah dijelaskan pada tutorial laravel part sebelumnya di malasngoding.com.

belajar_laravel/app/Http/Controllers/PegawaiController.php

Perhatikan pada syntax di atas, di atas kita membuat method index dengan menangkap data yang dikirim dari route tadi.

jadi untuk menangkap data dari route tadi ( {nama} ), tinggal kita tangkap di method dengan menuliskan variabel nama dalam parameter method nya (index).

Kemudian kita bisa langsung mengolah data yang di tangkap tadi, di sini kita langsung me return data variabel nama.

Kita coba lihat hasilnya.

Jalankan project belajar_laravel kita.

localhost:8000/pegawai/malasngoding

Request Data Pada Laravel

Request Data Pada Laravel

nah seperti yg teman-teman lihat pada contoh di atas, data yg kita kirimkan adalah “malasngoding”. maka pada controller kita mereturn datanya langsung. jadi data langsung tampil seperti pada gambar di atas.

Intinya adalah apapun data yang dikirimkan melalui URL tadi adalah data yang ditangkap pada controller. jadi apa yg diketikkan pada “malasngoding”, maka data itulah yang ditampilkan.

Menangkap Data Dari Inputan

Setelah kita belajar cara menangkap data dari url di sub judul sebelumnya, sekarang kita akan belajar menangkap data yang dikirimkan dari form input menggunakan form method post.

Oke sekarang buat 2 buah route lagi,

belajar_laravel/routes/web.php

pada route “/formulir” kita memerintahkan untuk menjalankan method “formulir” dalam controller PegawaiController. dan route yang satunya lagi yaitu route “/formulir/proses” kita perintahkan untuk menjalankan method proses dalam controller PegawaiController dengan menggunakan fungsi post().

Menangkap data dari form input laravel

Menangkap data dari form input laravel

Karena pada route “formulir/proses” ini kita akan menangkap data post dari form.

Kemudian tambahkan method formulir pada controller PegawaiController.

belajar_laravel/app/Http/Controllers/PegawaiController.php

pada method formulir ini kita memanggil view formulir. jadi sekarang kita buat sebuah view baru. buat view baru dengan nama formulir.blade.php

belajar_laravel/resources/views/formulir.blade.php

Oh ya pada form di atas kita membuat form csrf token,

Untuk csrf pada laravel akan kita bahas pada tutorial selanjutnya agar teman-teman bisa lebih mudah memahami materi laravel kita.

Pada form di atas kita membuat form inputan sederhana, yaitu form inputan nama dan alamat. yang actionnya kita arahkan ke route “formulir/proses”.

karena pada route “formulir/proses” sudah kita set ke method “proses” pada controller PegawaiController, maka sekarang kita buat lagi sebuah method dalam controller PegawaiController, yaitu method proses() sebagai pemroses data yang dikirim dari form.

belajar_laravel/app/Http/Controllers/PegawaiController.php

jadi sekarang isi keseluruhan file PegawaiController.php adalah seperti berikut.

Untuk menangkap data yang dikirim dari form, kita bisa menangkap datanya dengan mendeklarasikan “Request” pada parameter method proses. dan di lanjutkan dengan menuliskan nama variabel tempat kita menyimpan data-data yang dikirim dari form ke dalam 1 buah variabel. pada contoh di atas semua data inputannya kita simpan dalam variabel $request.

Baru kemudian kita pecah data-data yang kita tangkap dengan menuliskan fungsi input().

Dalam fungsi input() nya kita tulis data apa yang ingin kita ambil (sesuai dengan nama form masing-masing).

Pada bagian terakhir kita tinggal me-return data nya.

Coba kita jalankan, akses localhost:8000/formulir.

Input post pada laravel

Input post pada laravel

Setelah mengisi form nama dan alamat, kemudian klik simpan.

request laravel

request laravel

Oke teman-teman sekarang kita telah berhasil menangkap data dari form (route formulir) dan memproses nya dalam route formulir/proses.