Website Seribu Macam!!!

Kamis, 11 Maret 2021

Tutorial Laravel - Introducing Eloquent

ELOQUENT

CREATING MODEL

Buat model baru pada folder app dengan nama Siswa.php

PENJELASAN

$table

Variabel untuk menentukan nama tabel pada database untuk model ini. 

$fillable

Variabel untuk menentukan field apa saja yang akan di-fill / di-insert ke tabel pada model ini. Biasanya digunakan untuk mass-assignment

Referensi: https://laravel.com/docs/5.7/eloquent#mass-assignment

MODIFY CONTROLLER FUNCTION INDEX

Modifikasi file app/Http/Controllers/SiswaController.php

PENJELASAN

Penggunaan

Seluruh method yang dipanggil setelah inisialisasi Eloquent sama dengan penggunaan DB Facades

MODIFY CONTROLLER FUNCTION STORE

Modifikasi file app/Http/Controllers/SiswaController.php

MODIFY CONTROLLER FUNCTION UPDATE

Modifikasi file app/Http/Controllers/SiswaController.php

PENJELASAN

\App\Siswa::find($id)

Method find hanya ada pada Eloquent Model, digunakan untuk mencari data pada model berdasarkan primary key. Biasanya primary key yang dicari adalah id. Selain id anda dapat mengaturnya pada model dengan meng-override variabel public $primaryKey

Jika dalam Query SQL, fungsi diatas akan menciptakan query sebagai berikut:

SELECT * FROM t_siswa WHERE id = ‘$id’

MODIFY CONTROLLER FUNCTION DESTROY

Modifikasi file app/Http/Controllers/SiswaController.php

ANOTHER FUNCTION OF ELOQUENT 

ORM Eloquent for Inserting Data


ORM Eloquent for Updating Data


Share:

Selasa, 09 Maret 2021

Tutorial Laravel - Edit & Delete Data with DB

EDIT DATA WITH DB FACADE

Buka file resources/views/belajar.blade.php, tambahkan kolom baru untuk tombol Aksi Edit


Buka file routes/web.php, tambahkan route edit


Perintah pada baris 21 akan mengarahkan route /siswa/edit ke function edit pada controller SiswaController  dengan method POST

{id} adalah parameter yang harus ada pada url nya dan parameter tersebut akan dilempar ke controller

Buka file app/Http/Controllers/SiswaController.php


Fungsi find() pada \DB::table adalah untuk mencari data pada t_siswa berdasarkan id atau primary keynya, sehingga return dari pemanggilan fungsi tersebut berupa objek

Edit file resources/views/siswa/form.blade.php

PENJELASAN


Digunakan untuk mengarahkan form ke siswa/{id} apabila view form.blade.php dipanggil oleh Controller dengan data $siswa (Edit Mode)


Digunakan untuk menambahkan method PATCH apabila view form.blade.php dipanggil oleh Controller dengan data $siswa (Edit Mode)


Parameter pada fungsi old ditambah dengan nama_lengkap dari objek $siswa berfungsi untuk menampilkan nilai default untuk input tersebut. $siswa berasal dari controller dan nama_lengkap merupakan nama kolom dari tabel t_siswa


Untuk input dengan tipe radio terpilih secara otomatis sesuai dengan datanya, digunakan if ternary untuk memeriksa apakah value dari old data ataupun nilai default sama dengan value dari input tersebut.


Untuk input dengan tipe select terpilih secara otomatis sesuai dengan datanya, digunakan if ternary untuk memeriksa apakah value dari old data ataupun nilai default sama dengan value dari input tersebut.

EDIT DATA DENGAN DB 

Buka file app/Http/Controllers/SiswaController.php, tambah function update


Buka file routes/web.php, tambahkan route untuk update


Perintah pada baris 22 akan mengarahkan route /siswa/{id} ke function update pada controller SiswaController dengan method patch.

{id} adalah parameter yang harus ada pada url nya dan parameter tersebut akan dilempar ke controller

HASILNYA COBA DI WEB



DELETE DATA WITH DB FACADES

Buka file resources/views/belajar.blade.php, tambahkan kolom baru untuk tombol Aksi Delete


Buka file routes/web.php, tambahkan route edit


Perintah pada baris 23 akan mengarahkan route /siswa/{id} ke function destroy pada controller SiswaController  dengan method POST

{id} adalah parameter yang harus ada pada url nya dan parameter tersebut akan dilempar ke controller

Buka file app/Http/Controllers/SiswaController.php


HASILNYA COBA DI WEB


Cukup sampai disini untuk tutorial kali in, pastikan terus membaca tutorial selanjutnya
Share:

Sabtu, 06 Maret 2021

Tutorial Laravel - Create Data With DB Facade

Hallo roids, tutorial ini melanjutkan dari tutorial yang kemarin ya bisa dilihat disini Controllers & Interacting With DB 

Pertama

CREATE DATA DENGAN DB (1)

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

PENJELASAN URL

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

PENJELASAN @CSRF (1)

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.

PENJELASAN @CSRF (2)

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.
*https://mti.binus.ac.id/2018/07/11/cross-site-request-forgery

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

COBA DI BROWSER (1)




PENJELASAN (1)

$input = $request->all();
Baris diatas digunakan untuk menangkap seluruh request yang dikirim dari view form

unset($input['_token']);
Baris diatas digunakan untuk menghapus data dengan key _token pada array asosiatif $input karena data tersebut tidak ada didalam tabel (tidak akan di-insert)

$status = \DB::table('t_siswa')->insert($input);
Melakukan insert data ke tabel t_siswa dimana datanya berasal dari array $input


Baris diatas memeriksa apakah input data berhasil atau tidak.
Jika berhasil maka arahkan tampilan kembali ke alamat /siswa (Menampilkan Tabel Data Siswa) dengan membawa session success dengan pesan ‘Data berhasil ditambahkan’

Jika gagal maka arahkan tampilan kembali ke alamat /siswa/create (Menampilkan kembali form input data siswa) dengan membawa session error dengan pesan ‘Data gagal ditambahkan’

SUCCESS / ERROR MESSAGE FEEDBACK

MENAMPILKAN FEEDBACK PESAN SUKSES/ERROR

Buka file resources/views/belajar.blade.php

PENJELASAN @IF dan @ENDIF

@if
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

COBA DI BROWSER


Setelah berhasil menambahkan data, akan diarahkan ke tampilan ini dengan menampilkan pesan Data Berhasil Ditambahkan

Note:
Anda dapat menambahkan style pada halaman ini (Misalnya Bootstrap, CSS anda, dsb)

INPUT VALIDATION

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.
https://laravel.com/docs/5.7/validation

Buka file app/Http/Controllers/SiswaController.php, tambahkan code di fungsi store

Buka file resources/views/siswa/form.blade.php, tambahkan di paling atas

COBA DI BROWSER


Akan menampilkan error jika field yang diisi belum sesuai dengan yang ada di rule

PENJELASAN (1)

Cara menulis rule adalah dengan membuat array asosiatif yang didalamnya berisi key yang berupa nama field yang ada pada form dan value yang berisi string valiadasinya.

Validasi Lebih dari 2 Rule & Validasi Berparameter

Jika terdapat lebih dari 2 validasi, gunakan simbol |
Jika string validasi memerlukan parameter, gunakan simbol titik dua :

Contoh Array Asosiatif untuk Validasi NIS:

‘nis’ => ‘max:10’

Artinya: Validasi NIS hanya boleh memiliki panjang maksimal 10 karakter


Sama dengan if pada percobaan sebelumnya, if disini artinya menampilkan error dari validasi jika variabel $errors lebih dari 1
Variabel $errors berasal dari hasil validasi pada sintaks di Controller => $this->validate()

DISPLAYING USER’S OLD VALUE

Menggunakan fungsi old

Ketika form tidak lengkap atau tidak sesuai dengan rules, seharusnya form yang sudah diisi oleh user yang sebelumnya harus tetap muncul dan tidak hilang

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’) }}” />

cukup sampai disini untuk tutorial laravelnya tetapi akan terus di lanjut klik disini

Share:

Pengikut