PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment rechercher dans un champ json contenant un tableau d'objets avec Eloquent

PostgreSQL requiert que la valeur de l'objet soit dans un tableau :

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

Utilisez une expression brute pour la recherche insensible à la casse :

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