Laravel Sql : Search data berupa array

Alfajri
Mar 5, 2024

--

Photo by Rubaitul Azad on Unsplash

Pada sebuah kasus dimana ada sebuah entitas yang berelasi one to many, contohnya :

1 Buku memiliki banyak penulis

Buku has many penulis

Pada standartnya kita akan membuat tabel pivot untuk menyelesaikan masalah tersebut, namun ada opsi lain dimana kita menyimpan id_penulis pada sebuah array didalam kolom penulis pada tabel buku

Contoh diatas dapat digunakan untuk menyelesaikan masalah tersebut terlepas cara itu standart atau tidak, tanpa membuat tabel pivot.

Namun ada masalah saat kita ingin mencari data buku yang memiliki id penulis tertentu, apakah bisa kita mencari data pada sebuah array pada kolom.

Ada salah satu cara mencarinya dengan laravel sql raw

$buku= Book::whereRaw('JSON_CONTAINS(id_penulis, \'["' . $id_penulis_yang_dicari . '"]\')')
->where([
['status', 1],
])->get();

--

--

Alfajri
Alfajri

Written by Alfajri

Halo saya feri, tertarik pada teknologi dan seni. Ingin berbagi cerita dan pengalaman serta mencoba belajar menulis

No responses yet