@@ -564,10 +564,31 @@ private function getFilterExpression(IQueryBuilder $qb, Column $column, string $
564564 $ qb ->expr ()->isNull ('value ' ),
565565 $ qb ->expr ()->eq ('value ' , $ qb ->createNamedParameter ('' , $ paramType ))
566566 );
567+ } elseif ($ column ->getType () === 'selection ' && $ column ->getSubtype () === 'multi ' ) {
568+ $ filterExpression = $ qb2 ->expr ()->orX (
569+ $ qb ->expr ()->isNull ('value ' ),
570+ $ qb ->expr ()->eq ('value ' , $ qb ->createNamedParameter ('[] ' , $ paramType ))
571+ );
567572 } else {
568573 $ filterExpression = $ qb ->expr ()->isNull ('value ' );
569574 }
570575 break ;
576+ case 'is-not-empty ' :
577+ $ includeDefault = !empty ($ defaultValue );
578+ if ($ column ->getType () === Column::TYPE_TEXT ) {
579+ $ filterExpression = $ qb2 ->expr ()->andX (
580+ $ qb ->expr ()->isNotNull ('value ' ),
581+ $ qb ->expr ()->neq ('value ' , $ qb ->createNamedParameter ('' , $ paramType ))
582+ );
583+ } elseif ($ column ->getType () === 'selection ' && $ column ->getSubtype () === 'multi ' ) {
584+ $ filterExpression = $ qb2 ->expr ()->andX (
585+ $ qb ->expr ()->isNotNull ('value ' ),
586+ $ qb ->expr ()->neq ('value ' , $ qb ->createNamedParameter ('[] ' , $ paramType ))
587+ );
588+ } else {
589+ $ filterExpression = $ qb ->expr ()->isNotNull ('value ' );
590+ }
591+ break ;
571592 default :
572593 throw new InternalError ('Operator ' . $ operator . ' is not supported. ' );
573594 }
@@ -636,6 +657,7 @@ private function getSqlOperator(string $operator, IQueryBuilder $qb, string $col
636657 'is-lower-than ' => $ qb ->expr ()->lt ($ columnName , $ qb ->createNamedParameter ($ value , $ paramType )),
637658 'is-lower-than-or-equal ' => $ qb ->expr ()->lte ($ columnName , $ qb ->createNamedParameter ($ value , $ paramType )),
638659 'is-empty ' => $ qb ->expr ()->isNull ($ columnName ),
660+ 'is-not-empty ' => $ qb ->expr ()->isNotNull ($ columnName ),
639661 default => throw new InternalError ('Operator ' . $ operator . ' is not supported. ' ),
640662 };
641663 }
0 commit comments