PostgreSQL wymaga, aby wartość obiektu znajdowała się wewnątrz tablicy:
PlanificacionInfo::select('datos_complementarios')
->whereJsonContains('datos_complementarios', [["value" => "Escamonda 2019"]]);
Użyj surowego wyrażenia do wyszukiwania bez rozróżniania wielkości liter:
PlanificacionInfo::select('datos_complementarios')
->whereJsonContains(
DB::raw('lower("datos_complementarios"::text)'),
[["value" => strtolower("Escamonda 2019")]]
);