sql >> Database >  >> RDS >> Mysql

Mijn waar-instructie met een JSON_extract-functie op een nullable-kolom wordt bevestigd wanneer de waarde van die kolom NULL is?

Dit:

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

Zou moeten zijn:

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

Zo werken de waar-statements in Laravel. Ik heb geen tweede parameter ingevoegd en daarom nam Laravel aan dat ik op NULL controleerde. Het werkt nu, sorry voor mijn domheid.




  1. Utf8mb4 gebruiken met php en mysql

  2. Hoe alle instanties van een string in een database zoeken en vervangen?

  3. Hulp nodig bij een Postgres-trigger en -functie

  4. Deelnemen aan tabellen van twee verschillende servers