Mysql
 sql >> база данни >  >> RDS >> Mysql

Моят оператор where с функция JSON_extract в колона с възможност за null се потвърждава, когато стойността на колоната е NULL?

Това:

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

Трябва да бъде:

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

Ето как работят изразите where в Laravel. Не вмъкнах втори параметър и затова Laravel предположи, че проверявам за NULL. Сега работи, съжалявам за глупостта ми.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как управлявате бази данни при разработка, тестване и производство?

  2. Индексираща колона с функция REPLACE в mySQL

  3. Извикване на PHP скрипт от MySQL тригер

  4. Не може да се свърже с базата данни:Отказан достъп за потребител ''@'localhost' до база данни 'socialdb'

  5. Намерете най-близките 10 града с MySQL, използвайки географска ширина и дължина?