Tôi đã hiểu và đăng câu trả lời ở đây nếu trong tương lai có ai cần trợ giúp.
Về cơ bản, chúng ta có thể thực hiện một where
truy vấn với @>
nhà điều hành. Và giá trị có thể được mã hóa json với email được tìm kiếm. Sau đây là truy vấn để tìm kiếm email cụ thể mà không sử dụng whereRaw
phương pháp.
$contacts = Contact::where("emails", '@>', '[' . json_encode(['value' => $query]) . ']')->get();
Hy vọng nó sẽ giúp một số người khác trong tương lai :)