DoctrineExtensions\Query\Oracle\Listagg::getSql PHP Method

getSql() public method

public getSql ( Doctrine\ORM\Query\SqlWalker $sqlWalker )
$sqlWalker Doctrine\ORM\Query\SqlWalker
    public function getSql(SqlWalker $sqlWalker)
    {
        $result = 'LISTAGG(' . $this->listaggField->dispatch($sqlWalker);
        if ($this->separator) {
            $result .= ', ' . $sqlWalker->walkStringPrimary($this->separator) . ')';
        } else {
            $result .= ')';
        }
        $result .= ' WITHIN GROUP (' . $sqlWalker->walkOrderByClause($this->orderBy) . ')';
        if (count($this->partitionBy)) {
            $partitionBy = array();
            foreach ($this->partitionBy as $part) {
                $partitionBy[] = $part->dispatch($sqlWalker);
            }
            $result .= ' PARTITION BY (' . join($partitionBy, ',') . ')';
        }
        return $result;
    }