यह:
->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);
इस तरह Laravel में जहां स्टेटमेंट काम करते हैं। मैंने दूसरा पैरामीटर नहीं डाला और इसलिए लारवेल ने मान लिया कि मैं NULL की जाँच कर रहा हूँ। यह अब काम करता है, मेरी मूर्खता के लिए खेद है।