Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Meine Where-Anweisung mit einer JSON_extract-Funktion für eine Nullable-Spalte wird bestätigt, wenn der Wert der Spalte NULL ist?

Dies:

->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));

Sollte lauten:

->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);

So funktionieren die where-Anweisungen in Laravel. Ich habe keinen zweiten Parameter eingefügt und deshalb nahm Laravel an, dass ich nach NULL suchte. Es funktioniert jetzt, sorry für meine Dummheit.