@@ -436,9 +436,17 @@ module.exports =
436436 }
437437
438438 if ( op === '==' || op === '===' ) {
439- query = query . where ( field , v ) ;
439+ if ( v === null ) {
440+ query = query . whereNull ( field ) ;
441+ } else {
442+ query = query . where ( field , v ) ;
443+ }
440444 } else if ( op === '!=' || op === '!==' ) {
441- query = query . where ( field , '!=' , v ) ;
445+ if ( v === null ) {
446+ query = query . whereNotNull ( field ) ;
447+ } else {
448+ query = query . where ( field , '!=' , v ) ;
449+ }
442450 } else if ( op === '>' ) {
443451 query = query . where ( field , '>' , v ) ;
444452 } else if ( op === '>=' ) {
@@ -496,9 +504,17 @@ module.exports =
496504 } else if ( op === 'like' ) {
497505 query = query . where ( field , 'like' , v ) ;
498506 } else if ( op === '|==' || op === '|===' ) {
499- query = query . orWhere ( field , v ) ;
507+ if ( v === null ) {
508+ query = query . orWhereNull ( field ) ;
509+ } else {
510+ query = query . orWhere ( field , v ) ;
511+ }
500512 } else if ( op === '|!=' || op === '|!==' ) {
501- query = query . orWhere ( field , '!=' , v ) ;
513+ if ( v === null ) {
514+ query = query . orWhereNotNull ( field ) ;
515+ } else {
516+ query = query . orWhere ( field , '!=' , v ) ;
517+ }
502518 } else if ( op === '|>' ) {
503519 query = query . orWhere ( field , '>' , v ) ;
504520 } else if ( op === '|>=' ) {
0 commit comments