File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -76,15 +76,17 @@ public static function assemblePredicate(Filter\Condition $filter)
7676 ($ filter instanceof Filter \Equal || $ filter instanceof Filter \Unequal)
7777 && strpos ($ expression , '* ' ) !== false
7878 ) {
79- if ($ expression === '* ' ) {
80- return ["$ column IS " . ($ filter instanceof Filter \Equal ? 'NOT ' : '' ) . 'NULL ' ];
81- } elseif ($ filter instanceof Filter \Unequal) {
79+ if ($ filter instanceof Filter \Unequal) {
8280 return ["( $ column NOT LIKE ? OR $ column IS NULL) " => str_replace ('* ' , '% ' , $ expression )];
8381 } else {
8482 return ["$ column LIKE ? " => str_replace ('* ' , '% ' , $ expression )];
8583 }
8684 } elseif ($ filter instanceof Filter \Unequal) {
8785 return ["( $ column != ? OR $ column IS NULL) " => $ expression ];
86+ } elseif ($ filter instanceof Filter \HasNotValue) {
87+ return ["$ column IS NULL " ];
88+ } elseif ($ filter instanceof Filter \HasValue) {
89+ return ["$ column IS NOT NULL " ];
8890 } else {
8991 if ($ filter instanceof Filter \Equal) {
9092 $ operator = '= ' ;
You can’t perform that action at this time.
0 commit comments