Pada kali ini saya akan menjelaskan menggunakan controllers dan interacticng dengan db di laravel
CONTROLLERS
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 .
MEMBUAT CONTROLLER
Buka CMD, masuk ke folder root project laravel anda, jalankan perintah berikut
php artisan make:controller SiswaController
HUBUNGKAN ROUTE DENGAN CONTROLLER
Buka file routes/web.php
Bentuk umum:
Route::get(‘/nama-rute’, Controller@function);
Buat fungsi baru pada controller
Buat fungsi index pada SiswaController, pindahkan perintah yang dijalankan pada routes kedalam fungsi index
PENJELASAN PENULISAN CONTROLLER
Nama Controller harus PascalCase dan diakhiri dengan Controller
Nama controller harus berbentuk PascalCase, setiap kata pertama adalah huruf kapital. Contoh: SiswaController, KelasController, GuruController, dsb.
Nama fungsi pada Controller
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.
*Basic Coding Standard : https://www.php-fig.org/psr/psr-1/
INTERAKSI DENGAN DATABASE
Isi data dummy
Pada percobaan berikutnya, kita akan mencoba menampilkan data dari tabel t_siswa. Sebelumnya isilah data pada tabel t_siswa minimal 5 data yang berbeda.
Buka file app/Http/Controllers/SiswaController.php
Buka file resources/views/belajar.blade.php
PENJELASAN 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).
*Lebih jauh: https://medium.com/a-young-devoloper/understanding-laravel-facades-4802025899e6
DB bentuk standard untuk berinteraksi dengan Database
DB digunakan untuk berinteraksi dengan tabel-tabel pada database namun belum berbasis objek (Belum menggunakan Eloquent ORM), tetapi sudah menggunakan fungsi-fungsi yang disediakan oleh Laravel
PENJELASAN TEMPLATE BLADE
@foreach
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 menutup blok foreach yang sudah didefinisikan di awal. Setiap blok foreach harus ditutup dengan endforeach
*Lebih detail: https://laravel.com/docs/5.7/blade#loops
QUERYING DATA
ORDER BY
Tampilkan data dari tabel t_siswa, diurutkan berdasarkan jenis_kelamin
Pindahkan 3 route yang sebelumnya anda buat di routes ke SiswaController
STUDI KASUS - 2
Isi data dummy untuk tabel t_kelas dengan data kelas XI di SMK Negeri 4 Bandung (Semua jurusan, 13 kelas)
STUDI KASUS - 3
Lakukan beberapa query dibawah ini untuk menampilkan data pada t_kelas
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
Sekian dan terimakasih
0 komentar:
Posting Komentar