Apaitu UUID? Bisa sobat baca lengkap nya di Wikipedia, secara singkat nya yang saya tau sih UUID ini Universally Unique Identifier, yap dari kepanjangan nya saja kita sudah mengetahui kalau uuid ini akan membuat/generate ID / string yang unik setiap kita generate uuid baru. Hmmm lebih kurang nya ya seperti itu sob :D
Sebaiknya langsung kita praktekkan yah biar pada nangkep maksud nya dari UUID ini
Ohya saya menggunakan package dari webpatser disini link nya ya, jika suatu saat tutor disini ga work sobat bisa kunjungi ke webpatser nya di github.
Pertama – tama silahkan buka command line di folder laravel nya dan jalankan :
composer require "webpatser/laravel-uuid:2.*"
Hasil :
Berarti kita udah berhasil install UUID nya, sekarang ke config/app.php
pada bagian aliases
tambahkan :
'Uuid' => Webpatser\Uuid\Uuid::class,
Lalu jangan lupa kita kembali dulu ke database, ubah Struktur ID kita (disini nama id saya id_crud) yang menggunakan INT dan AUTOINCREMENT menjadi VARCHAR ya intinya sih disesuaikan sendiri ya sob
Jika sudah, kita ke crudcontroller
pada method store
, kita mau id_crud kita tadi menggunakan UUID jadi cara nya gini :
public function store(Request $request)
{
$tambah = new Crud();
// Disini proses generate uuid
$tambah->id_crud = Uuid::generate(4);
//yang ini abaikan saja
$tambah->judul = $request->get('judul');
$tambah->slug_judul = Str::slug($request->get('judul'));
$tambah->isi = $request->get('isi');
$file = $request->file('gambar');
$fileName = $file->getClientOriginalName();
$request->file('gambar')->move("image/", $fileName);
$tambah->gambar = $fileName;
$tambah->save();
return redirect()->to('/');
}
Etsss, jangan lupa menambahkan use Uuid;
diatas ya, Yasudah sekarang coba kita tambah baru lagi artikel nya, jika data sudah masuk silahkan cek ke database nya apakah id nya sudah Teracak?
Whoops, hasilnya :
Keren kan, id kita menjadi benar – benar unik dan susah untuk di tebak :v
Untuk proses update nya jika UUID nya tidak ingin berubah lagi cukup sepert ini :
public function update(Request $request, $id)
{
$update = Crud::where('id', $id)->first();
//uuid pake yang sebelumnya
$update->id_crud = $update->id_crud;
//abaikan ini
$update->judul = $request->get('judul');
$update->slug_judul = Str::slug($request->get('judul'));
$update->isi = $request['isi'];
if($request->file('gambar') == "")
{
$update->gambar = $update->gambar;
}
else
{
$file = $request->file('gambar');
$fileName = $file->getClientOriginalName();
$request->file('gambar')->move("image/", $fileName);
$update->gambar = $fileName;
}
$update->update();
return redirect()->to('/');
}
Tapi jika ingin berubah, ya generate lagi seperti di atas tadi ya sob pada method store
Sekarang cara untuk memanggil route
dengan uuid tadi gimana? Cara nya sama saja sih seperti biasa jadi pada view nya contoh seperti ini :
<a href="{{ url('read', $data->id_crud) }}" class="btn btn-flat pink accent-3 waves-effect waves-light white-text">Readmore <i class="material-icons right">send</i></a>
Pada controller method show
:
public function show($id)
{
$tampilkan = Crud::where('id_crud', $id)->first();
return view('tampil')->with('tampilkan', $tampilkan);
}
Sama aja kan seperti biasa juga? Hasil nya :
Selesai deh, sekian tutorial singkat nya sob semoga mudah dipahami ya jika ada yang kurang paham silahkan berkomentar dibawah sini
Mohon maaf jika terdapat kesalahan kata dan coding, pantau terus dan share jika bermanfaat sob!