Doctrine\DBAL\Query\QueryBuilder::add PHP Method

add() public method

The available parts are: 'select', 'from', 'set', 'where', 'groupBy', 'having' and 'orderBy'.
public add ( string $sqlPartName, string $sqlPart, boolean $append = false )
$sqlPartName string
$sqlPart string
$append boolean
    public function add($sqlPartName, $sqlPart, $append = false)
    {
        $isArray = is_array($sqlPart);
        $isMultiple = is_array($this->sqlParts[$sqlPartName]);
        if ($isMultiple && !$isArray) {
            $sqlPart = array($sqlPart);
        }
        $this->state = self::STATE_DIRTY;
        if ($append) {
            if ($sqlPartName == "orderBy" || $sqlPartName == "groupBy" || $sqlPartName == "select" || $sqlPartName == "set") {
                foreach ($sqlPart as $part) {
                    $this->sqlParts[$sqlPartName][] = $part;
                }
            } elseif ($isArray && is_array($sqlPart[key($sqlPart)])) {
                $key = key($sqlPart);
                $this->sqlParts[$sqlPartName][$key][] = $sqlPart[$key];
            } elseif ($isMultiple) {
                $this->sqlParts[$sqlPartName][] = $sqlPart;
            } else {
                $this->sqlParts[$sqlPartName] = $sqlPart;
            }
            return $this;
        }
        $this->sqlParts[$sqlPartName] = $sqlPart;
        return $this;
    }

Usage Example

Example #1
0
 public function add($sqlPartName, $sqlPart, $append = false)
 {
     if ($sqlPartName == 'select') {
         if (is_array($sqlPart)) {
             $i = 0;
             foreach ($sqlPart as $term) {
                 $sqlPart[$i] = $this->quoteSelectTerm($term);
                 $i++;
             }
         } else {
             $sqlPart = $this->quoteSelectTerm($sqlPart);
         }
     }
     return parent::add($sqlPartName, $sqlPart, $append);
 }
All Usage Examples Of Doctrine\DBAL\Query\QueryBuilder::add