PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como pesquisar em um campo json que contém uma matriz de objetos com o Eloquent


O PostgreSQL requer que o valor do objeto esteja dentro de um array:
PlanificacionInfo::select('datos_complementarios')
    ->whereJsonContains('datos_complementarios', [["value" => "Escamonda 2019"]]);

Use uma expressão bruta para pesquisa que não diferencia maiúsculas de minúsculas:
PlanificacionInfo::select('datos_complementarios')
    ->whereJsonContains(
        DB::raw('lower("datos_complementarios"::text)'),
        [["value" => strtolower("Escamonda 2019")]]
    );