Bluz\Db\Query\AbstractBuilder::addQueryPart PHP Method

addQueryPart() protected method

The available parts are: 'select', 'from', 'set', 'where', 'groupBy', 'having' and 'orderBy'
protected addQueryPart ( string $sqlPartName, string | array $sqlPart, boolean $append = false )
$sqlPartName string
$sqlPart string | array
$append boolean
    protected function addQueryPart($sqlPartName, $sqlPart, $append = false)
    {
        $isArray = is_array($sqlPart);
        $isMultiple = is_array($this->sqlParts[$sqlPartName]);
        if ($isMultiple && !$isArray) {
            $sqlPart = [$sqlPart];
        }
        if ($append) {
            if ($sqlPartName == "orderBy" || $sqlPartName == "groupBy" || $sqlPartName == "select" || $sqlPartName == "set") {
                foreach ((array) $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;
            }
        } else {
            $this->sqlParts[$sqlPartName] = $sqlPart;
        }
        return $this;
    }