Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Câu lệnh where của tôi với hàm JSON_extract trên cột nullable được xác nhận khi giá trị của cột đó là NULL?

Cái này:

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

Nên là:

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

Đó là cách các câu lệnh where trong Laravel hoạt động. Tôi đã không chèn tham số thứ hai và đó là lý do tại sao Laravel cho rằng tôi đang kiểm tra NULL. Nó hoạt động ngay bây giờ, xin lỗi vì sự ngu ngốc của tôi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai cơ sở dữ liệu tính năng được xem nhiều nhất

  2. Lệnh MySQL trong C # DateTime

  3. Cách chọn một hàng đơn 100 triệu x

  4. Lỗi nghiêm trọng:Không tìm thấy lớp 'TableRows' trong

  5. Điều gì xảy ra khi tôi gửi boolean True-False đến một câu lệnh PDO dưới dạng một tham số được liên kết với một trường int?