sql >> Database teknologi >  >> RDS >> Mysql

Min where-sætning med en JSON_extract-funktion på en nullbar kolonne bekræftes, når nævnte kolonnes værdi er NULL?

Dette:

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

Skal være:

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

Det er sådan, hvor udsagn i Laravel fungerer. Jeg indsatte ikke en anden parameter, og det er derfor, Laravel antog, at jeg tjekkede for NULL. Det virker nu, undskyld min dumhed.




  1. Google Maps Gem polygon og punkter i MySQL ved hjælp af PHP

  2. Sådan bruger du pandaer til at lave upsert i SqlAlchemy

  3. pdo execute give's fejl

  4. Strange MySQL Popup Mysql Installer kører community mode