Pinq\Providers\Traversable\ScopeEvaluator::visitOperation PHP Méthode

visitOperation() public méthode

public visitOperation ( Operation $query )
$query Pinq\Queries\Segments\Operation
    public function visitOperation(Segments\Operation $query)
    {
        $otherValues = self::evaluateSource($query->getSource(), $this->resolvedParameters);
        switch ($query->getOperationType()) {
            case Segments\Operation::UNION:
                $this->traversable = $this->traversable->union($otherValues);
                break;
            case Segments\Operation::INTERSECT:
                $this->traversable = $this->traversable->intersect($otherValues);
                break;
            case Segments\Operation::DIFFERENCE:
                $this->traversable = $this->traversable->difference($otherValues);
                break;
            case Segments\Operation::APPEND:
                $this->traversable = $this->traversable->append($otherValues);
                break;
            case Segments\Operation::WHERE_IN:
                $this->traversable = $this->traversable->whereIn($otherValues);
                break;
            case Segments\Operation::EXCEPT:
                $this->traversable = $this->traversable->except($otherValues);
                break;
        }
    }