sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo buscar en un campo json que contiene una matriz de objetos con Eloquent

PostgreSQL requiere que el valor del objeto esté dentro de una matriz:

PlanificacionInfo::select('datos_complementarios')
    ->whereJsonContains('datos_complementarios', [["value" => "Escamonda 2019"]]);

Utilice una expresión sin formato para la búsqueda que no distingue entre mayúsculas y minúsculas:

PlanificacionInfo::select('datos_complementarios')
    ->whereJsonContains(
        DB::raw('lower("datos_complementarios"::text)'),
        [["value" => strtolower("Escamonda 2019")]]
    );