Saya berhasil dan memposting jawabannya di sini jika ada yang membutuhkan bantuan di masa mendatang.
Pada dasarnya kita dapat melakukan where
sederhana kueri dengan @>
operator. Dan nilainya dapat dikodekan json dengan email yang dicari. Berikut adalah query untuk mencari email tertentu tanpa menggunakan whereRaw
metode.
$contacts = Contact::where("emails", '@>', '[' . json_encode(['value' => $query]) . ']')->get();
Semoga ini bisa membantu orang lain di masa depan :)