protected function relationsToQueries()
    {
        foreach ($this->filters['strata_relations'] as $queryType => $queryDetails) {
            // At this point, there should only be exclusive AND or OR query groups
            $metaQueries = null;
            $relationTypes = array_keys($queryDetails);
            foreach ($relationTypes as $relationType) {
                if ($this->hasRelationQuery($queryType, $relationType)) {
                    $metaQueries = $this->getRelationQuery($queryType, $relationType);
                    $this->setQueryRelation($queryType, $relationType);
                    $this->resetQueryRelation($queryType, $relationType);
                }
            }

            if (!is_null($metaQueries)) {
                foreach ($metaQueries as $query) {
                    $this->addRelationQuery($queryType, $query);
                }
            }
        }

        return $this;
    }
protected function relationsToQueries()
    {
        foreach ($this->filters['strata_relations'] as $queryType => $queryDetails) {
            // At this point, there should only be exclusive AND or OR query groups
            $metaQueries = null;
            $relationTypes = array_keys($queryDetails);
            foreach ($relationTypes as $relationType) {
                if ($this->hasRelationQuery($queryType, $relationType)) {
                    $metaQueries = $this->getRelationQuery($queryType, $relationType);
                    $this->setQueryRelation($queryType, $relationType);
                    $this->resetQueryRelation($queryType, $relationType);
                }
            }

            if (!is_null($metaQueries)) {
                foreach ($metaQueries as $query) {
                    $this->addRelationQuery($queryType, $query);
                }
            }
        }

        return $this;
    }
protected function relationsToQueries ( ) { foreach ( $ this -> filters [ 'strata_relations' ] as $ queryType => $ queryDetails ) { // At this point, there should only be exclusive AND or OR query groups $ metaQueries = null ; $ relationTypes = array_keys ( $ queryDetails ) ; foreach ( $ relationTypes as $ relationType ) { if ( $ this -> hasRelationQuery ( $ queryType , $ relationType ) ) { $ metaQueries = $ this -> getRelationQuery ( $ queryType , $ relationType ) ; $ this -> setQueryRelation ( $ queryType , $ relationType ) ; $ this -> resetQueryRelation ( $ queryType , $ relationType ) ; } } if ( ! is_null ( $ metaQueries ) ) { foreach ( $ metaQueries as $ query ) { $ this -> addRelationQuery ( $ queryType , $ query ) ; } } } return $ this ; }
Interprets the branching queries into resultsets that will be
applied to the main query
@return Query
Interprets the branching queries into resultsets that will be applied to the main query