/** * execute a query againts the test db * * @param string $query query to execute * @param MongoOdm $visitor visitor we are testing * * @return array */ private function runTestQuery($query, $visitor) { $lexer = new Lexer(); $parser = RqlParser::createDefault(); $rqlQuery = $parser->parse($lexer->tokenize($query)); $builder = $visitor->visit($rqlQuery); $results = []; foreach ($builder->getQuery()->execute() as $doc) { $results[] = $doc; } return $results; }
/** * Does the actual query using the RQL Bundle. * * @param Builder $queryBuilder Doctrine ODM QueryBuilder * @param Query $query query from parser * * @return array */ protected function doRqlQuery($queryBuilder, Query $query) { $this->visitor->setBuilder($queryBuilder); return $this->visitor->visit($query); }