PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Cerca dati jsonb multidimensionali in laravel postgres

L'ho fatto funzionare e ho pubblicato la risposta qui se nel caso qualcuno avesse bisogno di aiuto in futuro.

Fondamentalmente possiamo fare un semplice where interrogare con @> operatore. E il valore può essere codificato in json con l'e-mail cercata. Di seguito è riportata la query per cercare un'e-mail particolare senza utilizzare whereRaw metodo.

$contacts = Contact::where("emails", '@>', '[' . json_encode(['value' => $query]) . ']')->get();

Spero che aiuti qualcun altro in futuro :)