Controller & Database Interaction (Laravel)

Assalamu'alaikum Wr. Wb.

Hell Guys!
Kembali lagi bersama saya Salman Fauzan. Pada kesempatan kali ini, kita masih akan membahas seputar Framework PHP lebih tepatnya Laravel. Nah kali ini kita akan membahas tentang Controller dan Database Interaction. Nah, sebelumnya apa itu Controller dan Database Interaction?


Controller merupakan salah satu bagian dari MVC (Model View Controller) yang telah kita bahas kemarin. Apabila kemarin kita hanya membahas konsep Viewnya saja, sekarang kita akan membahas tentang Controller. Controller sendiri adalah suatu cara yang digunakan untuk memproses cara menampilkan View tersebut. Nah, apabila Database Interaction itu sendiri adalah bagaimana kita mencoba menampilkan data dari Database. Yang dimaksud dengan Interaction itu sendiri adalah bagaimana cara user dapat menampilkan data tersebut dari Database. Langsung saja kita masuk ke dalam inti dari pembahasan kita kali ini :

Langkah Pertama :

Seperti biasa, kita harus masuk dulu kedalam folder laravel melalui Command Prompt (CMD). Setelah itu, ketikanlah codingan dibawah ini untuk membuat file controller :

php artisan make:controller namaController

Langkah Kedua :

Buka file app/Http/Controllers yang telah tadi kita buat menggunakan Command Prompt (CMD), kemudian kita dapat membuat sebuah function untuk menampilkan data yang di inginkan. Contohnya seperti ini :

public function index() 
 {
  $nama = 'Salman Fazz';

  $jk = 'Laki Laki';

  return view('belajar2', compact('nama', 'jk'));
 }

Langkah Ketiga :

Jangan lupa untuk membuat route untuk memanggil views yang telah kita buat. Formatnya adalah seperti ini :

Route::get('namaView','namaController@namaFunction');

Nah sekarang kita akan mempelajari tentang Database Interaction yang telah kita bahas sebelumnya.

Untuk memanggil sebuah table yang telah kita buat didalam database kita hanya perlu menambahkannya didalam file Controller yang telah kita buat. Untuk format pemanggilan function untuk menampilkan table adalah sebagai berikut :

                $data['nama_variable'] = \DB::table('nama_table')
                ->condition();
                ->get();
                return view('namaController', $data);

Apabila kita ingin menambahkan query untuk mengurutkan / menampilkan table sesuai dengan yang kita inginkan, kalian dapat menambahkannya tepat diatas sebelum function get() dijalankan. Tidak lupa, kita harus membuat table didalam file view sebagai tempat untuk menyimpan data-data yang akan ditampilkan dari table yang telah kita buat. Formatnya adalah sebagai berikut :

<table border = "2">
 <tr>
            <th> Nama Record</th>
 </tr>
        @foreach ($namaVariable as $row)
 <tr>
         <td> {{ $row->nama_Column }} </td>
 </tr>
        @endforeach
</table>

Pastikan jumlah kolom yang dibuat didalam view sama seperti yang ada didalam database. Variable foreach diatas digunakan untuk me-looping data yang ada didalam database hingga data yang terdapat didalam database berhasi dimasukan semuanya kedalam table didalam view.  Nah sekarang saya akan mencontohkan beberapa studi kasus beserta dengan codingannya.
Untuk mengisi datanya kalian dapat mengisinya secara langsung melalui databasenya menggunakan queery :

INSERT INTO nama_table VALUES ('');

Hasilnya akan seperti gambar dibawah ini :

Selanjutnya akan ada beberapa contoh cara menampilkan data sesuai dengan yang diingkan oleh user, berikut adalah Contoh Studi Kasus untuk menampilkan data yang diinginkan sesuai dengan keinginan user :

1. Tampilkan Data Tabel Kelas Diurutkan Berdasarkan Lokasi Ruangan


Untuk querynya kalian hanya cukup menambahkan ->orderBy('nama_column') tepat sebelum function ->get() berada.

2. Tampilkan Data Tabel Kelas Dengan Nama Wali Kelas yang Diawali Dengan Huruf A


Untuk querynya kalian hanya cukup menambahkan ->where('nama_walikelas','like','A%') tepat sebelum function ->get() berada.

3. Tampilkan Data Tabel Kelas Diurutkan Berdasarkan Jurusan dan Nama Kelas


Untuk querynya kalian hanya cukup menambahkan ->orderBy('jurusan','nama_kelas') tepat sebelum function ->get() berada.

4. Tampilkan Data Tabel Kelas Dengan Jurusan Audio Video Saja


Untuk querynya kalian hanya cukup menambahkan ->where('jurusan','like','%Audio Video%') tepat sebelum function ->get() berada.

Mungkin cukup sekian yang dapat saya sampaikan, mohon maaf bila ada kesalahan dalam pengetikan maupun penjelasan. See You Next!

Wassalamu'alaikum Wr. Wb.

Komentar