Pinq\Tests\Integration\Providers\DSL\Implementation\English\QueryCompilation::appendJoinOptions PHP Method

appendJoinOptions() public method

public appendJoinOptions ( Options $joinOptions )
$joinOptions Pinq\Queries\Common\Join\Options
    public function appendJoinOptions(Queries\Common\Join\Options $joinOptions)
    {
        $this->appendSource($joinOptions->getSource());
        if ($joinOptions->isGroupJoin()) {
            $this->append(' into groups');
        }
        if ($joinOptions->hasFilter()) {
            $this->append(' filtered according to: ');
            $filter = $joinOptions->getFilter();
            if ($filter instanceof Queries\Common\Join\Filter\Custom) {
                $this->appendFunction($filter->getOnFunction());
            } elseif ($filter instanceof Queries\Common\Join\Filter\Equality) {
                $this->appendFunction($filter->getOuterKeyFunction());
                $this->append(' equaling ');
                $this->appendFunction($filter->getInnerKeyFunction());
            }
        }
        if ($joinOptions->hasDefault()) {
            $this->append(' with default values');
        }
    }

Usage Example

Example #1
0
 public function visitJoinApply(Operations\JoinApply $operation)
 {
     $this->compilation->append('Join with: ');
     $this->compilation->appendJoinOptions($operation->getOptions());
     $this->compilation->append(' and update the outer values according to: ');
     $this->compilation->appendFunction($operation->getMutatorFunction());
 }
All Usage Examples Of Pinq\Tests\Integration\Providers\DSL\Implementation\English\QueryCompilation::appendJoinOptions