sql >> Base de Datos >  >> RDS >> Mysql

¿Mi declaración where con una función JSON_extract en una columna anulable se confirma cuando el valor de dicha columna es NULL?

esto:

->where(function($query) use ($other_key, $new_change) {
    $query->where(DB::raw('json_extract(old_value, "$.theme_id") = 1))
        ->orWhere(DB::raw('json_extract(new_value, "$.theme_id") = 1));

Debería ser:

->where(function($query) use ($other_key, $new_change) {
    $query->where(DB::raw("json_extract(old_value, '$.theme_id')"), 1);
        ->orWhere(DB::raw("json_extract(new_value, '$.theme_id')"), 1);

Así es como funcionan las declaraciones where en Laravel. No inserté un segundo parámetro y es por eso que Laravel asumió que estaba buscando NULL. Ahora funciona, perdón por mi estupidez.