Seperti yang kita ketahui, di Laravel kta memiliki kolom created_at
dan updated_at
yang secara otomatis berisi sebuah tanggal. Kolom tersebut memiliki tipe data timestamp
yang digunakan untuk menyimpan tanggal dan waktu kapan data tersebut dibuat dan diubah. Kolom ini sangat berguna saat kita ingin menampilkan data berdasarkan filter ataupun sorting data. Misalkan jika kita ingin menampilkan data dari terbaru terlebih dahulu atau menampilkan data terakhir dibuat. Contoh lain misalkan kita ingin menampilkan data yang dibuat dalam rentang waktu bulan ini, tahun ini atau seminggu terakhir.
Untuk melakukan filter data pada kolom created_at
dan updated_at
kita dapat menggunakan method yang tersedia oleh library Carbon. Hal ini karena kolom tersebut secara otomatis akan di casting menjadi instances dari class Carbon
.
Filtering data berdasarkan tahun
Untuk melakukan filter data yang dibuat pada tahun tertentu, kita dapat menggunakan sintaks berikut
|
|
Sedangkan jika kita menggunakan PHP Native tanpa bantuan Carbon, syntaxnya sedikit lebih panjang
|
|
Format tanggal
Carbon juga sangat memudahkan kita untuk menampilkan data tanggal dalam format lain, misalnya kita memiliki data di database dengan format YYYY/MM/DD
seperti 2023/10/18
dan kita ingin menampilkan tanggal tersebut dalam format lain, misalkan d/m/Y
menjadi 18/10/2023
|
|
Bahkan kita juga bisa menampilkan dalam format sesuai kehendak kita. Misalkan disini saya akan menampilkan nama bulan dan tahun saja.
|
|
Format F Y
akan menghasilkan output string dengan format bulan dan tahun, seperti January 2022
atau February 2022
. Dengan menggunakan Carbon kita bahkan dapat men-translate nama bulan tadi menjadi bahasa sesuai keinginan kita, misalkan bahasa indonesia atau yang lainnya
|
|
Cara membuat kolom tanggal di database otomatis format Carbon
Jika kita memiliki kolom di database yang memiliki tipe data waktu, seperti DATE
, DATETIME
atau yang lainnya dan kita ingin seacar otomatis menggunakan carbon sebagai formatter kolom tersebut, kita dapat mengatur pada Model yang berkaitan dengan kolom di database tersebut.
|
|
Misalkan disini saya membuat model Pegawai yang memilki kolom tanggal masuk di database, kita dapat mengatur casting tanggal seperti berikut:
|
|
Dengan demikian nantinya kita dapat menampilkan data tanggal masuk dalam format sesuai keinginan kita.
|
|
Untuk menampilkan data dalam format lain kalian dapat membaca dokumentasi lengkap dari Carbon
Untuk dokumentasi lebih lengkap tentang casting tipe data pad model, silakan buka dokumentasi https://laravel.com/docs/eloquent-mutators#custom-casts