public function setJoin($table, $on, $join = 'LEFT JOIN', $duplicate = false)
    {
        $this->join[] = $join.' '.$table.' ON '.Helper::formatOn($on);
        if ($duplicate !== false) {
            $this->patchDuplicateRow['pKey'] = $duplicate[0];
            if (is_array($duplicate[1])) {
                $this->patchDuplicateRow['columns'] = isset($this->patchDuplicateRow['columns']) ? array_merge($this->patchDuplicateRow['columns'], $duplicate[1]) : $duplicate[1];
            } else {
                $this->patchDuplicateRow['columns'][] = $duplicate[1];
            }
        }

        return $this;
    }