Update Data Dengan Kolom JSON di Laravel 5.3

update data dengan kolom json di laravel 5.3

Halo! udah lama banget ga nulis artikel lagi di blog ini, biasa lah karena sekarang sibuk kerja jadi jarang banget dapat inspirasi buat bikin artikel. Pada artikel kali ini saya akan sedikit membahas fitur terbaru dari  Laravel Framework versi 5.3 yaitu fitur where() dan update() pada kolom yang berisi JSON. Ya, pada fitur ini memungkinkan kita untuk melakukan pencarian dan juga melakukan update data dengan kolom JSON di Laravel.

Lebih jelasnya dengan fitur ini kita bisa menyimpan data berupa format JSON di kolom table MySQL dan melakukan pencarian dan update data secara sekaligus tanpa harus mengolah datanya dengan json_encode terlebih dahulu.

Sebenarnya fitur ini sudah ada sejak Laravel versi 5.0 namun karena waktu itu data JSON yang kita simpan masih berupa text format atau string tapi semenjak MySQL merilis versi 5.7 dan memperkenalkan tipe data JSON untuk kolom table, kita bisa memanfaatkan fitu update data dengan kolom JSON di Laravel dengan maksimal dan efisien.

Update Data Dengan Kolom JSON di Laravel #Schema

Untuk penjelasannya sekarang kita akan membuat sebuah contoh kasus. Asumsikan bahwa kita memiliki struktur table seperti pada syntax Schema berikut ini :

Pada schema diatas kita memiliki struktur table seperti ini

-> id
-> username (string)
-> password (string)
->biodata(json)

pada kolom biodata kita set tipedatanya sebagai JSON, jadi pada table tersebut kita dapat mengisi biodata dari user tersebut. isi dari kolom biodata dengan tipe data JSON ini sebagai berikut :

Dari syntax JSON diatas kita dapat melihat bahwa isi dari kolom biodata adalah data personal dari user yang kita pilih.

Update Data Dengan Kolom JSON di Laravel #where()

Untuk melakukan pencarian data untuk kolom JSON tersebut kita dapat menggunakan fitur where() pada Query Builder, contoh query yang kita gunakan adalah sebagai berikut :

Gampang kan? pada query diatas, kita bisa melihat bahwa Laravel akan langsung mengenali kolom biodata yang memiliki tipe data JSON sebagai JSON Object sehingga kita tinggal mencari index dan value dari object tersebut untuk melakukan pencarian data.

Update Data Dengan Kolom JSON di Laravel #update()

Nah, sama seperti contoh sebelumnya, kita tinggal melakukan pencarian lalu kita gunakan fitur update() yang ada pada Query Builder untuk mengubah data yang ada pada kolom biodata tersebut.

Mudah kan? sekarang kita tidak perlu lagi untuk membuat kolom baru di database.

Perlu diingat bahwa fitur ini baru bisa berjalan dengan baik pada MySQL versi 5.7. MariaDB tidak memiliki fitur JSON Column sedangkan PostgreSQL dan SQLite belum bisa memanfaatkan fitur JSON Column ini dengan baik. Jadi pertimbangkan untuk menggunakan MySQL 5.7 untuk bisa menggunakan JSON Column.

Segitu dulu tutorial dari saya, silahkan dicoba dan semoga bermanfaat 😀

Berlangganan Artikel

Daftarkan email anda sekarang dan dapatkan update terbaru dari artikel saya

I will never give away, trade or sell your email address. You can unsubscribe at any time.

Powered by Optin Forms

Tinggalkan Balasan