File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44
55use InvalidArgumentException ;
66use ipl \Sql \Filter \Exists ;
7+ use ipl \Sql \Filter \In ;
78use ipl \Sql \Filter \NotExists ;
9+ use ipl \Sql \Filter \NotIn ;
10+ use ipl \Sql \Select ;
811use ipl \Sql \Sql ;
912use ipl \Stdlib \Filter ;
1013
@@ -102,6 +105,18 @@ public static function assemblePredicate(Filter\Condition $filter)
102105 $ operator = 'EXISTS ' ;
103106 } elseif ($ filter instanceof NotExists) {
104107 $ operator = 'NOT EXISTS ' ;
108+ } elseif ($ filter instanceof In) {
109+ $ operator = 'IN ' ;
110+
111+ if (is_array ($ column )) {
112+ $ column = '( ' . implode (', ' , $ column ) . ' ) ' ;
113+ }
114+ } elseif ($ filter instanceof NotIn) {
115+ $ operator = 'NOT IN ' ;
116+
117+ if (is_array ($ column )) {
118+ $ column = '( ' . implode (', ' , $ column ) . ' ) ' ;
119+ }
105120 } else {
106121 throw new InvalidArgumentException (sprintf ('Cannot render filter: %s ' , get_class ($ filter )));
107122 }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace ipl \Sql \Filter ;
4+
5+ use ipl \Sql \Select ;
6+ use ipl \Stdlib \Filter ;
7+
8+ class In extends Filter \Condition
9+ {
10+ public function __construct ($ column , Select $ select )
11+ {
12+ parent ::__construct ($ column , $ select );
13+ }
14+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace ipl \Sql \Filter ;
4+
5+ use ipl \Sql \Select ;
6+ use ipl \Stdlib \Filter ;
7+
8+ class NotIn extends Filter \Condition
9+ {
10+ public function __construct ($ column , Select $ select )
11+ {
12+ parent ::__construct ($ column , $ select );
13+ }
14+ }
You can’t perform that action at this time.
0 commit comments