@@ -1331,6 +1331,38 @@ public function orWhereNotRegex($column, string $value, array $options = []): se
13311331 return $ this ->whereRegex ($ column , $ value , 'or ' , true , $ options );
13321332 }
13331333
1334+ /**
1335+ * Add a 'query_string' statement to query
1336+ */
1337+ public function whereQueryString ($ column , $ value , array $ options = []): self
1338+ {
1339+ return $ this ->_buildQueryStringWheres ($ column , $ value , 'and ' , false , $ options );
1340+ }
1341+
1342+ public function orWhereQueryString ($ column , $ value , array $ options = []): self
1343+ {
1344+ return $ this ->_buildQueryStringWheres ($ column , $ value , 'or ' , false , $ options );
1345+ }
1346+
1347+ public function whereNotQueryString ($ column , $ value , array $ options = []): self
1348+ {
1349+ return $ this ->_buildQueryStringWheres ($ column , $ value , 'and ' , true , $ options );
1350+ }
1351+
1352+ public function orWhereNotQueryString ($ column , $ value , array $ options = []): self
1353+ {
1354+ return $ this ->_buildQueryStringWheres ($ column , $ value , 'or ' , true , $ options );
1355+ }
1356+
1357+ private function _buildQueryStringWheres ($ column , $ value , $ boolean , $ not , $ options ): self
1358+ {
1359+ $ type = 'QueryString ' ;
1360+
1361+ $ this ->wheres [] = compact ('column ' , 'value ' , 'type ' , 'boolean ' , 'not ' , 'options ' );
1362+
1363+ return $ this ;
1364+ }
1365+
13341366 /**
13351367 * Add any where clause with given options.
13361368 */
0 commit comments