Esempio n. 1
0
 /**
  * @return \Cubiche\Infrastructure\Repository\Doctrine\ODM\MongoDB\QueryBuilder
  */
 protected function queryBuilder()
 {
     if ($this->queryBuilder === null) {
         $this->queryBuilder = new QueryBuilder($this->dm, $this->documentName, $this->specificationVisitorFactory, $this->comparatorVisitorFactory);
         if ($this->isFiltered()) {
             $this->queryBuilder->addSearchCriteria($this->searchCriteria());
         }
         if ($this->offset !== null) {
             $this->queryBuilder->skip($this->offset);
         }
         if ($this->length !== null) {
             $this->queryBuilder->limit($this->length);
         }
         if ($this->isSorted()) {
             $this->queryBuilder->addSortCriteria($this->sortCriteria());
         }
     }
     return $this->queryBuilder;
 }
Esempio n. 2
0
 /**
  * @param QueryBuilder $queryBuilder1
  * @param QueryBuilder $queryBuilder2
  *
  * @return bool
  */
 protected function hasSameOperator(QueryBuilder $queryBuilder1, QueryBuilder $queryBuilder2)
 {
     $intersection = new ArrayHashMap(\array_intersect_key($queryBuilder1->getQueryArray(), $queryBuilder2->getQueryArray()));
     return $intersection->keys()->findOne(Criteria::callback(function ($value) {
         return \strpos($value, '$') === 0;
     })) !== null;
 }