THANK YOU FOR VISITING MY BLOG,THANK YOU FOR READING MY ARTICLES

Please Like, Share, Comment, Like Again, Post, And Don’t Forget To Comment.

THANK YOU FOR VISITING MY BLOG,THANK YOU FOR READING MY ARTICLES

Please Like, Share, Comment, Like Again, Post, And Don’t Forget To Comment.

THANK YOU FOR VISITING MY BLOG,THANK YOU FOR READING MY ARTICLES

Please Like, Share, Comment, Like Again, Post, And Don’t Forget To Comment.

THANK YOU FOR VISITING MY BLOG,THANK YOU FOR READING MY ARTICLES

Please Like, Share, Comment, Like Again, Post, And Don’t Forget To Comment.

THANK YOU FOR VISITING MY BLOG,THANK YOU FOR READING MY ARTICLES

Please Like, Share, Comment, Like Again, Post, And Don’t Forget To Comment.

Monday, June 29, 2020

Menampilkan Halaman Detail Dengan Laravel





Pada bagian Detail ini ada 2 yang kita tambahkan yaitu dibagian controllers dan dibagain bagian front-end di detail.blade.php, dibagian controllernya kita akan memanggi model dari TravelPackage.




Setelah itu kita akan menambahkan query Sqlnya dan parameter slug karna dibagian route / web.php kita sudah menambahkan slug




Jadi untuk memanggil bagian travel detailnya kita akan menggunakan Slug dibandingkan menggunakan ID karna dengan menggunakan Slug lebih enak dibaca untuk pengguna




Setelah itu tambahkan variable item dengan value TravelPackage dengan relasi galleries dengan kondisional slug =  $slug lalu kita akan panggil firstorfail / datanya yang pertama akan dipanggil dan gagalkan jika datanya tidak ditemukan, setelah itu masukkan item dengan $item kedalam view.




Setelah itu masukkan data yang dikirimkan dari controller tadi kedalam view detail.blade.php  sesuai dengan apa yang ingin ditampilkan. 

Untuk menampilkan data gallery yang pertama atau menampilkan gambar yang pertama kita akan menggunakan kondisional if  sebagai mencheck data pertama untuk gallery tersebut.




Dibagian src dan xoriginal untuk menampilkan gambar pertama




Hasil dari pemanggilan data tersebut bisa dilihat seperti gambar dibawah






Untuk menampilkan thumbnail /beberapa gambar yang ada dibawah gambar utama maka kita akan menggunakan foreach, jangan lupa pada saat memanggil imagenya dibungkus dengan munggunakan storage.






Dan untuk menampilkan deskripsi pada gallery kita bisa memanggil data seperti gambar yang dibawah.



Dan untuk menampilkan data yang lain bisa dipanggil dengan cara seperti yang dibawah.




Selenjutnya untuk menampilkan data yang ada di trip informasi, dibagian tanggal kita akan set dibagian table maka kita akan menampilkan dengan menggunakan format  carbon karbon ini sudah terinstal secara otomatis di laravel contohnya seperti gambar dibawah




Hasilnya seperti gambar dibawah





Di bagian tombol ayo berangkat kita akan tambahkan pengkondisian disini kita buat 2 kondisi  jika pengguna belum login maka kita akan mengarahkan pengguna ke halaman login dan jika pengguna sudah melakukan login maka kita akan mengarahkan pengguna ke bagian proses check out




Setelah itu kita siapkan routernya sebelum kita melakukan dibagian check out




Dibagian router kita tambahkan middleware didalamnya terdapa auth yang mencheck apakah user sudah melakukan login atau tidak dan verified untuk verifikasi dibagian verifikasi ini sudah menjadi default bawaan dari laravel

Penjelasan dari setiap router diatas



Route post yang diatas adalah halaman dari checkout dengan tambahan parameter Id, router ini berfungsi untuk memproses data dari checkout tersebut, saat user menekan tombol ayo berangkat maka akan diarahkan ke checkout proses dan data yang telah diinputkan itu  akan masuk ke halaman chekout controller index, jadi nanti user akan mendapatkan Id, id disini dari id transaction. 




Setelah melakukan checkout data tersebut akan tersedia dan akan mendapatkan Id juga tapi di route ini akan menggunakan Get 




Disini kita akan membutuhkan tambahan misalnya dalam satu acara travel kita membutuhkan 5 orang nah di website ini kita bisa mengundang /invite member yang pernah join, jadi fungsinya untuk menambah dari orang selain dari pengguna.




Selanjutnya checkout remove fungsinya hampir sama dengan checkout create tapi disini kebalikan dari checkout create dimana kita akan menghapus data yang tersedia.




Dan yang terakhir bagian dari checkout confirm  jadi jika user sudah yakin dengan data yang telah diinputkan maka tahap selanjutnya akan mengganti status itu menjadi sukses, karna sebenarnya data transaksi ini atau bisa dikatakan dengan data cart / keranjang belanja hanya saja disini beda di statusnya saja.

Tahap CheckOut Di Laravel






Untuk melakukan check out disini kita akan menyiapkan 3 model yang akan digunakan





Lalu selanjutnya kita akan menambahkan library  carbon, carbon ini digunakan untuk menformat tanggal dan menambahkan library auth untuk digunakan pada saat checkout untuk check id dari user maka dari itu kita gunakan auth.




Selanjutnya kita akan mempersiapkan dari kosongan index di fungsi yang akan kita gunakan, untuk index kita tambahkan Id juga dibagian proses tambahkan Id dan dibagian remove tambahkan detail Id, untuk bagian create bisa ditambahkan Id lalu yang terahkir bagian sukses juga di tambahkan Id, semua fungsi ada 5 fungsi yaitu index, proses, remove, create, success




Fungsi ke lima ini harus sama dengan yang ada di route / di web.php




Disini kita akan masuk dibagian fungsi awal yaitu fungsi index, untuk fungsi index ini kita tambahkan satu fungsi dan tambahkan varibale item dengan value Transaction dengan relasinya detail, travel package, user  dan tambahkan findOrFail jadi kalau misalkan data tersedia akan dimunculkan dan jika tidak tersedia kembalikan ke 404.




Dan masukkan variable item kedalam view untuk mengirimkan data item ke checkout. selanjutnya masuk kedalam bagian proses, diproses ini akan membuat data atau memasukkan data kedalam table transaksi, jadi posisinya sedang berada didalam cart jadi untuk status atau transaksi statusnya akan kita jadikan sebagai incart.




Sama seperti sebelumnya cuma ditambah dengan source code transaction create karna didalam transaction create ada beberapa parameter yang akan ditambahkan




yang pertama ada travel_packages_id  yang berisikan id dari travel

user_id yang berisikan fungsi Auth yang sebelumnya telah dipanggil dan mengambil id user yang sedang login.

additional_visa akan diset secara 0, jadi nantinya user datanya akan kita isi dengan 0

dibagian  transaction_total akan menyesuaikan dengan harga travel_package maka kita akan panggil travel_package->price maka akan menggikuti dari harga tersebut.

transaction_status akan kita set dengan IN_CART 


Setelah kita buat untuk insert data ke Transaksi selanjutnya kita akan panggil  TransactionDetail, disini kita akan buat satu data, jadi ketika pengguna melakukan checkout maka pertama kali data yang akan dimasukkan pasti dari login dari data  pengguna setelah itu pengguna bisa menambahkan data dari pengguna lain untuk data tersebut





transaction_id kita isi dengan transaction_id maksudnya sebelumnya data transaction yang sebelumnya sudah dibuat dan kita akan memanggil data tersebut di sini.

data username kita panggil dari Auth user, disini akan memanggil username dari user yang sedang login.

nationality secara default kita akan isi dengan ID

is_visa yang diset dengan False

doe_passport untuk  death or exp dari passport, disini kita akan menggunakan fungsi carbon now() berarti waktu sekarang dan ditambah dengan addYears(5) disini kita akan membuat hardcode  menjadi doe_passport seperti  gambar yang diatas, disini kita akan membuat bagaimana cara agar doe_passport ini tidak di hardcode


Jadi clunya kalian bisa simpan sebuah datanya didalam table user dan kita akan redirect ke route checkout dengan $transaction_id




Selanjutnya kita akan buat source code untuk bagian remove sebelum membuat bagian remove terlebih dahulu kita buat dibagian  create



Dibaigan create kita akan buat sebuah validasi langsung dari fungsi ini kita tidak menggunakan form request karena disini formnya cuma satu




Disini kita akan mencoba untuk menvalidate data yang masuk dari user yang isinya 

username  yang tadi kita masukkan untuk rules nya required string dan exist lalu kita pilih table user dan kita ambil juga table dari username

lalu ada validasi dari is_visa disini kita akan masukkan required|boolean jadi ini bisa diisi dengan true atau false

doe_passport yang cuma required saja 




Lalu dilanjutkan dengan mengatur data untuk dimasukkan ke dalam  transaction detail  berarti kita akan memasukan data request yaitu dari $request->all(); mengambil semua data request lalu kita akan menambahkan data dari transaction_id jadi isi dari data ini kita akan menambahkan array.




Selanjutnya untuk menginsert data tersebut kita akan gunakan TransactionDetail lalu kita panggil fungsi create dari data yang kita buat sebelumnya request_all dan transaction_id.

Jika sudah dibuat langkah selanjutnya adalah  mengambil data dari transaction di panggil dengan travel_package dan diikuti dengan fungsi failOrfind(&Id) dari transaction. Penjelasan gambar dari source code ada dibawah.




Selanjutnya kita akan membuat dibagian update karna didalam table yang kita buat ada total visa dan total transaksi berarti pada saat kita menambahkan orang kita akan melakukan update dari jumlah orang yang ditambahkan maka otomatis visa dan totalnya juga akan terupadate pada saat penambahan orang tersebut.  

Disini kita akan membuat sebuah request is_ visa jadi ketika user mamasukan visanya dalam 30 hari  / true maka disini kita bisa memasukkan $transaction dan $transaction_total yang kita tambah dengan +=  maksud dari tanda tersebut sama seperti gambar yang dibawah hanya saja tanda += lebih mempersingkat codingannya dan lebih rapi




Setelah mengupdate transaction total maka selanjutnya kita akan update dibagian additionnal_visa lalu selanjutnya kita akan tambahkan $transaction_total  +=  dari harga $transaction->travel_package->price  / dari harga paket travel




Lalu  langkah selanjutnya kita akan menambahkan source code untuk bagian save dan ditambah redirect ke route checkout dengan Id transaction




Gambar dari semua function create yang dibuat




Selanjutnya kita masuk dibagian pembuatan function remove yang kita tuda sebelum membuat function create, dibagian remove hampir sama dengan  function create cuma bedanya  di bagian function remove ini kebalikan dari function create.




penjelasan dari source code remove diatas

dibagian varibale $item  yang nilainya TransactionDetail dengan mengunakan fungsi findOrFail dengan parameter ($detail_id).

dibagian variable $transaction  dengan value Transaction dengan relasi details dan travel_package dan ditambah fungsi findOrfail dari $item->transaction_id.

dibagian  if $item->is_visa  akan dikurangkan dari $transaction->transaction_total dengan $transaction->transaction_visa.

dan $transaction->transaction_total dikurangkan dengan $transaction->travel_package->price

lalu dibagian bawah tambahkan varibale $item->delete() untuk menghapus dari data tersebut

selanjutnya diredirect ke route checkout, dari $item->transaction_id



Selanjutnya pembuatan di bagian function success  dibagian function success ini cuma menambahkan beberapa source code kita cuma menupdate dari IN_CART menjadi  PENDING dan setelah sucses maka langsung di diarahkan  ke halaman success.