Controller & Koneksi database dengan Laravel

PRAKTIKUM SESI 10
Controller & Interacting With DB

Assalamualaikum
Selamat datang kembali di blog TutorGesit. Memasuki materi framework untuk pertama kali bagi yang baru belajar mungkin akan sedikit membingungkan, akan tetapi saat kalian sudah memahami konsep dasarnya kalian akan merasa sangat dimudahkan. Ntah kalian sependapat tapi itu yang saya rasakan saat pertama kali mempelajarinya, karena mungkin saya telat sadar hhe😅

Controller

Pada Konsep MVC, Controller adalah yang bertugas untuk menghubungkan Model dengan View

Biasanya, satu buah Controller untuk sebuah modul. Misalnya kita memiliki SiswaController, didalamnya terdapat fungsi-fungsi yang berhubungan dengan entitas/modul 

Bingung?
Saya simpulkan menurut pemahan yang saya tangkap :
Jika sebelumnya kalian belajar mengenai native php, kalian akan membuat model(fungsi halaman) dalam root folder dan tampilan dalam folder views. Contohnya seperti index.php disimpan dalam root folder dan tampilannya dalam folder views/v_index. nahh index.php yang disimpan dalam root folder itu adalah Controller dalam laravel hanya saja letak & implementasinya sedikit berbeda tidak persis seperti pada native php.

Cara Membuat Controller
Ada cara instan dalam membuat controller, yaitu dengan command line :
php artisan make:controller NamaController


Atau buat manual file pada folder app/Http/Controllers/SiswaController.php

Nama controller harus berbentuk PascalCase, setiap kata pertama adalah huruf kapital. Contoh: SiswaController, KelasController, GuruController, dsb.

Nama fungsi pada controller sebetulnya bebas, tidak ada aturan khusus. Namun pada umumnya setiap controller memiliki fungsi index, create, store, edit, update dan show yang nantinya berhubungan dengan CRUD.
Nama fungsi harus berbentuk camelCase.

Menghubungkan Route dengan Controller
Bentuk umumnya:

Route::get(‘/nama-rute’, Controller@function);



Membuat Fungsi Pada Controller


Hasilnya :


StudiKasus 1
Kita akan memindahkan 3 routes yang sudah dibuat pada postingan sebelumnya pada controllers, jadi inilah hasilnya


Hasilnya:



Interaksi dengan Database
Kaliini kita akan coba menampilkan data dari database. disini saya punya database yang berisi tabel siswa2

Ekseskusi Controller



Siapkan views belajar.blade.php



Apa itu facade DB?

DB merukapan facade dari Laravel untuk berinteraksi dengan Database. Facade itu sendiri adalah hasil dari implementasi class dengan method static, sehingga programmer dapat dengan mudah mengaksesnya hanya dengan memanggil nama class dan fungsinya secara static (Facades Pattern).

@Foreach
Ada syntax @foreach, lalu apakah itu? itu digunakan untuk melakukan looping data yang terdapat pada array atau object. Bentuk umum nya sama seperti penggunaan foreach pada php.

foreach ($object/array as $item)

@Endforeach
Digunakan untuk mengakhiri @foreach.

Hasilnya seperti ini

Semua bentuk query dapat diimplementasikan dengan lebih ringkas, sebagai contoh disini kita akan coba gunakan order-by. kita akan urutkan data tabel diatas berdasarkan jenis kelaminnya dan hanya menampilkan nama yang terdapat huruf U. Maka cukup tambahkan perintah seperti dibawah


Lihat Hasilnya:

StudiKasus 2
Kita akan membuat tabel t_kelas dalam database yang berisi data kelas XI, lalu buat Controller-nya dan buat viewsnya untuk menampilkan data dari t_kelas

Buat Table :


2. Buat Controller

Setelah itu buka controllernya dan masukan kodingan seperti dibawah :


Buat views kelas


Hasilnya

StudiKasus 3
Tampilkan data dari t_kelas, diurutkan berdasarkan lokasi ruangan
Tampilkan data dari t_kelas yang memiliki nama wali kelas diawali huruf A saja
Tampilkan data dari t_kelas diurutkan berdasarkan jurusan dan nama_kelas
Tampilkan data dari t_kelas hanya data jurusan Audio Video saja

Baik, kita akan kerjakan semuanya sekaligus, Lets Gooo....

1. Tambah kolom pada tabel

2. Buat Routes


3. KelasController

4. Buat View kelas.blade.php

Hasilnya:
Urutan Berdasarkan Lokasi Ruang

Menampilkan data yang nama walikelas diawali huruf A saja


Diurutkan berdasarkan jurusan dan nama kelas


Tampilkan hanya jurusan audio vidio saja


Semoga Bermanfaat......

Komentar

Postingan Populer