Controller adalah mengambil permintaan, memparsing permintaan, menginisialisasi, memanggil model dan kemudian mengambil responnya, dan mengirimkannya ke View. Biar lebih jelas nanti untuk contohnya di bahas di bawah ya
Fungsinya
yaitu untuk memudahkan pekerjaan kita terutama dalam membuat CRUD(Create, Read,Update,Delete) karena hanya dengan membuat Controller maka Laravel akan otomatis menyediakan semua metode untuk operasi CRUD nya.
Nah itu sekilas tentang Controller beserta fungsinya.
Langsung saja ke pembahasan...STUDI KASUS 2
Perintahnya :
Isi data dummy untuk tabel t_kelas dengan data kelas XI di SMK
Negeri 4 Bandung (Semua jurusan, 13 kelas)
Lakukan hal yang sama seperti tabel t_siswa untuk tabel t_kelas,
buatlah controller dan modifikasi view nya untuk menampilkan data
dari t_kelas
Tabel ‘t_kelas’ adalah tabel percobaan yang kemarin kita pakai dan sekarang tugas kita adalah mengkoneksikan Controller yang kita buat ke Database khusunya t_kelas
1. Isi data dummy untuk tabel t_kelas dengan data kelas XI di SMK
Negeri 4 Bandung (Semua jurusan, 13 kelas)
2. Membuat Controller
Anda masuk CMD dan jalankan perintah php artisan make:controller KelasController jika berhasil akan muncul seperti dibawah ini.
D:\xampp2\htdocs\laravel5.7-fresh>php artisan make:controller KelasController
Controller created successfully.
Setelah itu Kalian buka routes/web.php
Route::get('/kelas','KelasController@index');
Nah jika sudah seperti ini, tinggal kita buat tampilannya.
Sekarang buat file kelas.blade.php didalam .\resources\views\
Sekarang buat file kelas.blade.php didalam .\resources\views\
Setelah dibuka masukkan kode seperti ini :
<table border="1" align="center" class="table table-stripped">
<thead class="black white-text">
<tr>
<th scope="col">No</th>
<th scope="col">Kode Ruangan</th>
<th scope="col">Nama Kelas</th>
<th scope="col">Jurusan</th>
<th scope="col">Nama Wali Kelas</th>
</tr>
@foreach ($kelas as $row)
</thead>
<tbody>
<tr>
<td>{{ isset($i) ? ++$i : $i = 1}}</td>
<td>{{ $row->lokasi_ruangan }}</td>
<td>{{ $row->nama_kelas }}</td>
<td>{{ $row->jurusan }}</td>
<td>{{ $row->nama_wali_kelas }}</td>
</tr>
@endforeach
</tbody>
</table>
Jika semua sudah dilakukan, tinggal buka di browser dengan cara
http://localhost/laravel5.7-fresh/public/kelas
Diatas itu cara Admin Open di browser.
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
- Tampilkan data dari t_kelas, diurutkan berdasarkan lokasi ruangan
//TAMPILKAN DATA DARI T_KELAS, DIURUTKAN BERDASARKAN LOKASI RUANGAN
class KelasController extends Controller
{
public function index(){
$data['kelas'] = \DB::table('t_kelas')
->orderBy('lokasi_ruangan')
->get();
return view('belajar',$data);
}
}
- Tampilkan data dari t_kelas yang memiliki nama wali kelas diawali huruf A saja
//TAMPILKAN DATA DARI T_KELAS YANG MEMILIKI NAMA WALI KELAS DIAWALI HURUF A SAJA
class KelasController extends Controller
{
public function index(){
$data['kelas'] = \DB::table('t_kelas')
->where('nama_wali_kelas','like','A%')
->get();
return view('belajar',$data);
}
}
- Tampilkan data dari t_kelas diurutkan berdasarkan jurusan dan nama_kelas
//TAMPILKAN DATA DARI T_KELAS DIURUTKAN BERDASARKAN JURUSAN DAN NAMA_KELAS
class KelasController extends Controller
{
public function index(){
$data['kelas'] = \DB::table('t_kelas')
->orderBy('jurusan','nama_kelas')
->get();
return view('belajar',$data);
}
}
- Tampilkan data dari t_kelas hanya data jurusan Audio Video saja
//TAMPILKAN DATA DARI T_KELAS HANYA DATA JURUSAN AUDIO VIDEO SAJA
class KelasController extends Controller
{
public function index(){
$data['kelas'] = \DB::table('t_kelas')
->where('jurusan','=', 'Audio Video')
->get();
return view('belajar',$data);
}
}
Itu mungkin pembahasan kali ini, sampai jumpa di lain waktu..!
Terima Kasih...
Comments
Post a Comment