1414use Doctrine \ODM \MongoDB \Query \Builder ;
1515use Intracto \DataTables \Columns ;
1616use Intracto \DataTables \Parameters ;
17+ use MongoDB \BSON \Regex ;
1718
1819trait DataTablesRepositoryTrait
1920{
@@ -22,15 +23,15 @@ trait DataTablesRepositoryTrait
2223 */
2324 public function getDataTablesTotalRecordsCount (Parameters $ parameters , Columns $ columns )
2425 {
25- return $ this ->createQueryBuilder ()->getQuery ()->execute ()-> count ( );
26+ return iterator_count ( $ this ->createQueryBuilder ()->getQuery ()->execute ());
2627 }
2728
2829 /**
2930 * {@inheritdoc}
3031 */
3132 public function getDataTablesFilteredRecordsCount (Parameters $ parameters , Columns $ columns )
3233 {
33- return $ this ->getFilteredDataTablesQb ($ parameters , $ columns )->getQuery ()->execute ()-> count ( );
34+ return iterator_count ( $ this ->getFilteredDataTablesQb ($ parameters , $ columns )->getQuery ()->execute ());
3435 }
3536
3637 /**
@@ -85,7 +86,7 @@ private function addFilters(Parameters $parameters, Builder $qb)
8586 if (is_callable ($ value )) {
8687 $ value ($ qb );
8788 } else {
88- $ qb ->field ($ field )->equals (new \ MongoRegex ( sprintf ( ' /%s/i ' , $ value ) ));
89+ $ qb ->field ($ field )->equals (new Regex ( $ value , ' i ' ));
8990 }
9091 }
9192 }
@@ -108,7 +109,7 @@ private function addSearch(Parameters $parameters, Columns $columns, Builder $qb
108109 $ expression = $ qb ->expr ();
109110
110111 foreach ($ columns ->getSearchableFields () as $ field ) {
111- $ searchExpr = $ qb ->expr ()->field ($ field )->equals (new \ MongoRegex ( sprintf ( ' /%s/i ' , $ searchString ) ));
112+ $ searchExpr = $ qb ->expr ()->field ($ field )->equals (new Regex ( $ searchString , ' i ' ));
112113 $ expression ->addOr ($ searchExpr );
113114 }
114115
0 commit comments