Assalamualaikum Semua
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.
kasus yang pertama..
Ubah route yang dibuat di pertemuan sebelumnya ke SiswaControllertambahkan saja kode berikut
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.
selanjutnya Buka file app/Http/Controllers/SiswaController.php ubah fungsi indexnya seperti berikut:
Buka file resources/views/belajar.blade.php tambahkan code seperti berikut:
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).
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
@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
QUERYING DATA (1)
ORDER BY
Caranya dinggal tambahkan orderBy('jenkel') setelah DB::table
Lalu buat viewsnya untuk menampilkan data
tambahkan routernya : Route::get('/kelas','KelasController@index');
Hasilnya
STUDI KASUS - 3
Lakukan beberapa query dibawah ini untuk menampilkan data pada t_kelas
Hallo semua selamat datang kembali. Saya Muhammad Aslam atau panggil saja Mas Lam akan berbagi pengetahuan tentang framework khususnya laravel langsung saja tanpa banyak basa basi lagi yu urang belajar framework
Buka file routes/web.php
Bentuk umum:
Route::get(‘/nama-rute’, Controller@function);
tambahkan code seperti berikut
Route::get('/belajar','SiswaController@index');
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 (1)
Cara 1
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);
tambahkan code seperti berikut
Route::get('/belajar','SiswaController@index');
Buat fungsi baru pada controller
Buat fungsi index pada SiswaController, pindahkan perintah yang dijalankan
pada routes kedalam fungsi index
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function index()
{
$data['nama'] = "Muhammad Aslam Setiawan Riziq";
$data['kelas'] = "XI RPL 1";
return view('belajar', $data);
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function index()
{
$data['nama'] = "Muhammad Aslam Setiawan Riziq";
$data['kelas'] = "XI RPL 1";
return view('belajar', $data);
}
}
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.
kasus yang pertama..
Ubah route yang dibuat di pertemuan sebelumnya ke SiswaControllertambahkan saja kode berikut
Route::get('/','SiswaController@homepage');
Route::get('/sekolah','SiswaController@sekolah');
Route::get('/belajar','SiswaController@index');
Route::get('/sekolah','SiswaController@sekolah');
Route::get('/belajar','SiswaController@index');
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.
selanjutnya Buka file app/Http/Controllers/SiswaController.php ubah fungsi indexnya seperti berikut:
public function index()
{
//Untuk mengambil data dari database
$data['siswa'] = \DB::table('t_siswa')->get();
//Mengirim data ke views
return view('belajar',$data);
}
{
//Untuk mengambil data dari database
$data['siswa'] = \DB::table('t_siswa')->get();
//Mengirim data ke views
return view('belajar',$data);
}
Buka file resources/views/belajar.blade.php tambahkan code seperti berikut:
<table border="1">
<tr>
<th>No</th>
<th>Nama Lengkap</th>
<th>Jenis Kelamin</th>
<th>Golongan Darah</th>
</tr>
@foreach ($siswa as $row)
<tr>
<td>{{ isset($i) ? ++$i : $i = 1 }}</td>
<td>{{ $row->nama_lengkap }}</td>
<td>{{ $row->jenkel }}</td>
<td>{{ $row->goldar }}</td>
</tr>
@endforeach
</table>
<tr>
<th>No</th>
<th>Nama Lengkap</th>
<th>Jenis Kelamin</th>
<th>Golongan Darah</th>
</tr>
@foreach ($siswa as $row)
<tr>
<td>{{ isset($i) ? ++$i : $i = 1 }}</td>
<td>{{ $row->nama_lengkap }}</td>
<td>{{ $row->jenkel }}</td>
<td>{{ $row->goldar }}</td>
</tr>
@endforeach
</table>
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).
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
@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
QUERYING DATA (1)
ORDER BY
Caranya dinggal tambahkan orderBy('jenkel') setelah DB::table
Tampilkan data dari tabel t_siswa, diurutkan berdasarkan jenis_kelamin
WHERE
Caranya sama seperti orderBy tapi ini memerlukan 2 parameter contoh where('jenkel','P')
Tampilkan data dari tabel t_siswa yang memiliki Golongan darah O
STUDI KASUS - 2
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
Sama seperti sebelumnya Lakukan command php artisan make:controller KelasController
lalu isi dengan code berikut:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class KelasController extends Controller
{
public function index()
{
$data['kelas'] = \DB::table('t_kelas')->get();
return view('kelas', $data);
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class KelasController extends Controller
{
public function index()
{
$data['kelas'] = \DB::table('t_kelas')->get();
return view('kelas', $data);
}
}
Lalu buat viewsnya untuk menampilkan data
<table border="1">
<tr>
<th>Nama Kelas</th>
<th>Nama Jurusan</th>
<th>Lokasi Ruangan</th>
<th>Wali Kelas</th>
</tr>
@foreach($kelas as $k)
<tr>
<td>{{ $k->nama_kelas }}</td>
<td>{{ $k->jurusan }}</td>
<td>{{ $k->lokasi_ruangan }}</td>
<td>{{ $k->nama_wali_kelas }}</td>
</tr>
@endforeach
</table>
<tr>
<th>Nama Kelas</th>
<th>Nama Jurusan</th>
<th>Lokasi Ruangan</th>
<th>Wali Kelas</th>
</tr>
@foreach($kelas as $k)
<tr>
<td>{{ $k->nama_kelas }}</td>
<td>{{ $k->jurusan }}</td>
<td>{{ $k->lokasi_ruangan }}</td>
<td>{{ $k->nama_wali_kelas }}</td>
</tr>
@endforeach
</table>
tambahkan routernya : Route::get('/kelas','KelasController@index');
Hasilnya
STUDI KASUS - 3
Lakukan beberapa query dibawah ini untuk menampilkan data pada t_kelas
Tampilkan data dari t_kelas, diurutkan berdasarkan lokasi ruangan
Query: \DB::table('t_kelas')->get();
Tampilkan data dari t_kelas yang memiliki nama wali kelas diawali huruf A saja
Query: \DB::table('t_kelas')->get();
Tampilkan data dari t_kelas yang memiliki nama wali kelas diawali huruf A saja
Query: \DB::table('t_kelas')->where('nama_wali_kelas','LIKE','A%')->get();
Query: \DB::table('t_kelas')->where('jurusan','Audio Video')->get();
Comments
Post a Comment