Membuat CRUD di Laravel menggunakan DB FACADES

Assalamualaikum Warrahmatullahi Wabarakatuh

Halo teman – teman sekarang kita lanjutkan dengan membuat create tabel dengan DB Façade. Sebelumnya, kita sudah belajar membuat Database Migration terlebih dahulu untuk mempelajari kedalam bab selanjutnya yaitu Create Data. Basic nya kita membuat CRUD di laravel. Sebelumnya yang ingin mengetahui tentang Database Migration bisa klik DISINI!!
Langsung saja cekidot!!!



CREATE DATA DENGAN DB (1)

Buka file resources/views/belajar.blade.php, tambahkan link menuju form add



Note :
URL digunakan untuk menciptakan URL menuju url tertentu. URL yang diciptakan akan ditambahkan base_url dari project anda.

Misal: url(‘/siswa/create’), maka yang akan muncul di HTML nya adalah
http://localhost/laravel5.7-fresh/public/belajar/create

CREATE DATA DENGAN DB (2)
Buka file routes/web.php, tambahkan route create


Perintah pada baris 19 akan mengarahkan route /siswa/create ke function create pada controller SiswaController
Ubah juga route /belajar ke /siswa

CREATE DATA DENGAN DB (3)
Buka file app/Http/Controllers/SiswaController.php


Menampilkan view dengan nama form yang terdapat pada folder siswa

CREATE DATA DENGAN DB (4)
Buat file resources/views/siswa/form.blade.php


Note:
Fungsi ini sudah memakai old, penjelasan nya ada di bawah!
PENJELASAN @CSRF
csrf_token()
Digunakan untuk membuat csrf token

csrf_field()
Digunakan untuk membuat input hidden _token beserta token nya
<input type=“hidden” name=“_token” value=“xxxxxxxxx”

@csrf
Fitur dari blade, sama dengan csrf_field, namun tidak perlu menggunakan bracket ( {{ }} ) untuk menampilkannya di HTML.

@csrf
Setiap request yang memiliki method selain GET (POST, PUT, PATCH, DELETE), syntax diatas wajib digunakan didalam form sebagai fungsi keamanan dari serangan CSRF.
CSRF (Cross-Site Request Forgery) merupakan bentuk eksploitasi website yang dieksekusi atas wewenang korban, tanpa dikehendakinya. CSRF menipu web site melalui request dari user yang dipercaya. Serangan bekerja melalui link atau script pada halaman site yang diakses user.

CREATE DATA DENGAN DB (5)
Buka file routes/web.php, tambahkan route post


Perintah pada baris 20 akan mengarahkan route /siswa dengan method request POST ke function store pada controller SiswaController

CREATE DATA DENGAN DB (6)
Buka file app/Http/Controllers/SiswaController.php, tambahkan fungsi store


Note :
Kalian bebas menggunakan fungsi mana saja karena disana saya menggunakan garis miring yang fungsinya sama hanya saja di garis miring agar mudah.

Cek Browser (1)



Cek Browser (2)



NAH SEKARANG BAGAIMANA CARA MENAMPILKAN MESSAGE SUKSES / ERORR?

SUCCESS / ERROR MESSAGE FEEDBACK


Nah gimana sih cara membuat Message error atau sukses? Langsung saja kita praktekan!

Buka file resources/views/belajar.blade.php


PENJELASAN @IF dan @ENDIF
Digunakan untuk menampilkan suatu bagian pada HTML ketika kondisi pada PHP terpenuhi
@if(session(‘success’))
Pada contoh diatas, tampilkan div dengan class success jika session(‘success’) tidak kosong. Div tersebut berisikan data/pesan yang ada pada session(‘success’) tersebut
Perhatikan penempatan blok @endif


INPUT VALIDATION

VALIDASI INPUT (1)
Validasi Input Menggunakan Validation
Untuk melakukan validasi input agar sesuai dengan yang diharapkan, Laravel sudah menyediakan fiturnya yaitu dengan menggunakan Facades Validator atau function validate.

VALIDASI INPUT (2)
Buka file app/Http/Controllers/SiswaController.php, tambahkan code di fungsi store


VALIDASI INPUT (3)
Buka file resources/views/siswa/form.blade.php, tambahkan di paling atas


Cek Browser

DISPLAYING USER’S OLD VALUE
MENAMPILKAN VALUE SEBELUMNYA (1)

Menggunakan fungsi old
Ketika form tidak lengkap atau tidak sesuai dengan rules, seharusnya form yang sudah diisi oleh user yang sebelumnya harus tetap muncul 


MENAMPILKAN VALUE SEBELUMNYA (2)
Buka file resources/views/siswa/form.blade.php, tambahkan di paling atas



Bentuk umum untuk menampilkan value yang user input:
<input ……………… value=“{{ old(‘nama_field’) }}” />


STUDI KASUS


STUDI KASUS 1
1.      Lakukan hal yang sama seperti yang sudah dijelaskan pada slide sebelumnya untuk tabel t_kelas. Buatlah tampilan form untuk menambahkan data kelas.
2.      Implementasikan validasi untuk tabel t_kelas, cobalah beberapa validasi yang berbeda selain yang sudah dijelaskan (tidak boleh validasi numeric, string dan max)

CREATE DATA DENGAN DB (1)
Buka file resources/views/kelas.blade.php, tambahkan link menuju form add


CREATE DATA DENGAN DB (2)
Buka file routes/web.php, tambahkan route create


Perintah pada baris 19 akan mengarahkan route /kelas/create ke function create pada controller KelasController
Ubah juga route /belajar ke /kelas

CREATE DATA DENGAN DB (3)
Buka file app/Http/Controllers/KelasController.php



Menampilkan view dengan nama form yang terdapat pada folder kelas

CREATE DATA DENGAN DB (4)
Buat file resources/views/kelas/form.blade.php


Note:
Fungsi ini sudah memakai old, penjelasan nya ada di bawah!

CREATE DATA DENGAN DB (5)
Buka file routes/web.php, tambahkan route post


Perintah pada baris 20 akan mengarahkan route /kelas dengan method request POST ke function store pada controller KelasController

CREATE DATA DENGAN DB (6)
Buka file app/Http/Controllers/KelasController.php, tambahkan fungsi store



Note :
Kalian bebas menggunakan fungsi mana saja karena disana saya menggunakan garis miring yang fungsinya sama hanya saja di garis miring agar mudah.

Cek Browser (1)



Cek Browser (2)



SUCCESS / ERROR MESSAGE FEEDBACK
Buka file resources/views/kelas.blade.php


INPUT VALIDATION

VALIDASI INPUT (1)
Validasi Input Menggunakan Validation
Untuk melakukan validasi input agar sesuai dengan yang diharapkan, Laravel sudah menyediakan fiturnya yaitu dengan menggunakan Facades Validator atau function validate.

VALIDASI INPUT (2)
Buka file app/Http/Controllers/KelasController.php, tambahkan code di fungsi store


VALIDASI INPUT (3)
Buka file resources/views/kelas/form.blade.php, tambahkan di paling atas


Cek Browser


DISPLAYING USER’S OLD VALUE
MENAMPILKAN VALUE SEBELUMNYA (1)

Menggunakan fungsi old
Ketika form tidak lengkap atau tidak sesuai dengan rules, seharusnya form yang sudah diisi oleh user yang sebelumnya harus tetap muncul



MENAMPILKAN VALUE SEBELUMNYA (2)
Buka file resources/views/siswa/form.blade.php, tambahkan di paling atas


Bentuk umum untuk menampilkan value yang user input:
<input ……………… value=“{{ old(‘nama_field’) }}” />

STUDI KASUS 2
1.      Di tutorial ini terdapat BUG, temukan BUG nya dan pecahkan solusi dari BUG tersebut!

Jadi, saya menemukan BUG di dalam fungsi nama_kelas. Jika di tambahkan unique fungsi jadi error dan tidak bisa di input. Jadi, saya menggunakan unique:t_kelas,jurusan dan lokasi ruangan untuk mencegah double data.


STUDI KASUS 3
1.      Sudah menangkap maksud dari fungsi old? Implementasikan fungsi tersebut untuk field berjenis radio button dan field berjenis select option pada form siswa (Field jenkel dan goldar)!


SEKIAN!!

Nah, mungkin itu yang bisa aku bahas kurang lebihnya mohon di beri tahu karena saya juga sama sama belajar. Next kita akan membuat EDIT dan DELETE ya! Stay tune di Blog aku.

Waasalamualaikum Warrahmatullahi Wabarakatu

Tidak ada komentar:

Posting Komentar